CommonLog
Background & Context
-
- Common Log Format.
- Also known as NCSA Common Log Format.
- Used for logging web traffic.
- Plain text format.
- Represents each record as a line of text.
- Developed by NCSA.
Import
- Import["file","CommonLog"] imports a log file as a Tabular object.
- Import["file",{"CommonLog",elem}] imports the specified element.
- Import["file",{"CommonLog",elem,subelem1,…}] imports subelements subelemi, useful for partial data import.
- The format "CommonLog" must always be specified when importing common log files.
- See the following reference pages for full general information:
-
Import import from a file CloudImport import from a cloud object ImportString import from a string ImportByteArray import from a byte array
Import Elements
- General Import elements:
-
"Elements" list of elements and options available in this file "Summary" summary of the file "Rules" list of rules for all available elements - Data representation elements:
-
"Data" two-dimensional array "Dataset" table data as a Dataset "EventSeries" table data as an EventSeries "Tabular" a Tabular object "TimeSeries" table data as a TimeSeries - Import by default uses the "Tabular" element.
- Subelements for partial data import for the "Tabular" element can take row and column specifications in the form {"Tabular",rows,cols}, where rows and cols can be any of the following:
-
n nth row or column -n counts from the end n;;m from n through m n;;m;;s from n through m with steps of s {n1,n2,…} specific rows or columns ni - Column specifications can also be any of the following:
-
"col" single column "col" {col1,col2,…} list of column names coli - Data descriptor elements:
-
"ColumnLabels" names of columns "ColumnTypes" association with data type for each column "Schema" TabularSchema object - Columns or identifiers typically present in a common log file are:
-
"RemoteHost" remote hostname or IP number "ClientID" remote logname "RemoteUser" username used for authentication "Date" date and time of the request "RequestLine" request as given by the client "StatusCode" the HTTP status code returned to the client "ByteCount" byte size of the tranferred document - Metadata elements:
-
"ColumnCount" number of columns stored in file "Dimensions" data dimensions "RowCount" number of rows stored in file
Import Options
- General Import options:
-
"Schema" Automatic schema used to construct Tabular object "TimeColumn" Automatic column to use for times in "EventSeries" and "TimeSeries" elements - Possible settings for the "Schema" option include:
-
schema a complete TabularSchema specification propval a schema property and value (see reference page for TabularSchema) <|"prop1"val1,…|> an association of schema properties and values
Examples
open all close allBasic Examples (2)
Import a log file as a Tabular:
Import["ExampleData/common20.log", "CommonLog"]Import["ExampleData/common20.log", {"CommonLog", "Summary"}]Scope (2)
Import metadata from a log file:
Import["ExampleData/common20.log", {"CommonLog", "Dimensions"}]Import["ExampleData/common20.log", {"CommonLog", "ColumnTypes"}]Import a sample row of a log file:
Import["ExampleData/common20.log", {"CommonLog", "Data", 10}]Import Elements (25)
"ColumnCount" (1)
"ColumnLabels" (1)
"ColumnTypes" (1)
"Data" (7)
Import a log file as a 2D list of values:
Import["ExampleData/common20.log", {"CommonLog", "Data"}]Import a single row from a log file:
Import["ExampleData/common20.log", {"CommonLog", "Data", 5}]Import["ExampleData/common20.log", {"CommonLog", "Data", {1, 5, 7}}]Import["ExampleData/common20.log", {"CommonLog", "Data", 1 ;; 5}]Import a single element at a given row and column:
Import["ExampleData/common20.log", {"CommonLog", "Data", 5, 5}]Import["ExampleData/common20.log", {"CommonLog", "Data", All, 5}]Import selected columns using column names:
Import["ExampleData/common20.log", {"CommonLog", "Data", All, {"RemoteHost", "RequestLine"}}]"Dataset" (2)
Import a log file as a Dataset:
Import["ExampleData/common20.log", {"CommonLog", "Dataset"}]Import selected columns using column names:
Import["ExampleData/common20.log", {"CommonLog", "Dataset", All, {"RemoteHost", "RequestLine"}}]"Dimensions" (1)
"EventSeries" (1)
Import a log file as an EventSeries:
Import["ExampleData/common20.log", {"CommonLog", "EventSeries"}]Import a single row from a log file:
Import["ExampleData/common20.log", {"CommonLog", "EventSeries", 5}]Import some specific rows from a log file:
Import["ExampleData/common20.log", {"CommonLog", "EventSeries", {1, 5}}]Import the first 10 rows of a log file:
Import["ExampleData/common20.log", {"CommonLog", "EventSeries", 1 ;; 10}]Import only selected columns using column names:
Import["ExampleData/common20.log", {"CommonLog", "EventSeries", All, {"Date", "RemoteHost", "RequestLine"}}]"RowCount" (1)
"Schema" (1)
Get the TabularSchema object:
Import["ExampleData/common20.log", {"CommonLog", "Schema"}]"Summary" (1)
"Tabular" (7)
Import a log file as a Tabular object:
Import["ExampleData/common20.log", {"CommonLog", "Tabular"}]Import["ExampleData/common20.log", {"CommonLog", "Tabular", 5}]Import["ExampleData/common20.log", {"CommonLog", "Tabular", {1, 5, 7}}]Import["ExampleData/common20.log", {"CommonLog", "Tabular", 1 ;; 5}]Import a single element at a given row and column:
Import["ExampleData/common20.log", {"CommonLog", "Tabular", 5, 5}]Import["ExampleData/common20.log", {"CommonLog", "Tabular", All, 5}]Import selected columns using column names:
Import["ExampleData/common20.log", {"CommonLog", "Tabular", All, {"RemoteHost", "RequestLine"}}]"TimeSeries" (1)
Import a log file as a TimeSeries:
Import["ExampleData/common20.log", {"CommonLog", "TimeSeries"}]Import a single row from a log file:
Import["ExampleData/common20.log", {"CommonLog", "TimeSeries", 5}]Import some specific rows from a log file:
Import["ExampleData/common20.log", {"CommonLog", "TimeSeries", {1, 5}}]Import the first 10 rows of a log file:
Import["ExampleData/common20.log", {"CommonLog", "TimeSeries", 1 ;; 10}]Import only selected columns using column names:
Import["ExampleData/common20.log", {"CommonLog", "TimeSeries", All, {"Date", "RemoteHost", "RequestLine"}}]Import Options (3)
"Schema" (2)
Import automatically infers column labels and types from data stored in a log file:
tab = Import["ExampleData/common20.log", "CommonLog"]tab["ColumnTypes"]Use the "Schema" option to specify column labels and types:
tab = Import["ExampleData/common20.log", "CommonLog", "Schema" -> {"ColumnKeys" -> {"RemoteHost", "ClientID", "RemoteUser", "Date", "RequestLine", "StatusCode", "ByteCount"}, "ElementType" -> {"Date" -> "Date", "StatusCode" -> "UnsignedInteger32", "ByteCount" -> "Integer64"}}]tab["ColumnTypes"]"TimeColumn" (1)
By default, the time column is selected automatically for "TimeSeries" and "EventSeries" elements:
Import["ExampleData/common20.log", {"CommonLog", "TimeSeries"}]Use the "TimeColumn" option to specify the time column:
Import["ExampleData/common20.log", {"CommonLog", "TimeSeries"}, "TimeColumn" -> "ByteCount"]History
Introduced in 2025 (14.3) | Updated in 2026 (15.0)