MeridianMERIDIAN

Common Log Format (Apache/Nginx)

Apache and Nginx Common Log Format timestamp. Note the distinctive colon between date and time with no space, and abbreviated month. Billions of log lines generated daily in this format worldwide.

Common Log Format (Apache/Nginx)

datetime.timestamp.clf

Apache and Nginx Common Log Format timestamp. Note the distinctive colon between date and time with no space, and abbreviated month. Billions of log lines generated daily in this format worldwide.

Domain
datetime
Category
timestamp
Casts to
TIMESTAMPTZ
Scope
Universal

Try it

CLI
$ finetype infer -i "15/Jan/2024:14:30:00 +0000" --mode column
→ datetime.timestamp.clf

DuckDB

Detect
SELECT ft_infer('15/Jan/2024:14:30:00 +0000');
-- → 'datetime.timestamp.clf'
Cast expression
strptime({col}, '%d/%b/%Y:%H:%M:%S %z')
-- Format: %d/%b/%Y:%H:%M:%S %z
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(ft_cast(my_column) AS TIMESTAMPTZ) AS clean_value
FROM my_table
WHERE ft_infer(my_column) = 'datetime.timestamp.clf';

JSON Schema

finetype taxonomy datetime.timestamp.clf -o json-schema
{
  "$id": "https://meridian.online/schemas/datetime.timestamp.clf",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Apache and Nginx Common Log Format timestamp. Note the distinctive colon between date and time with no space, and abbreviated month. Billions of log lines generated daily in this format worldwide.",
  "examples": [
    "15/Jan/2024: 14: 30: 00 +0000",
    "31/Dec/2023: 23: 59: 59 -0500",
    "01/Jun/2024: 08: 15: 30 +0530"
  ],
  "maxLength": 28,
  "minLength": 26,
  "pattern": "^\\[?\\d{2}/[A-Z][a-z]{2}/\\d{4}:\\d{2}:\\d{2}:\\d{2} [+-]\\d{4}\\]?$",
  "title": "Common Log Format (Apache/Nginx)",
  "type": "string",
  "x-finetype-label": "datetime.timestamp.clf",
  "x-finetype-pii": false
}

Examples

15/Jan/2024:14:30:00 +000031/Dec/2023:23:59:59 -050001/Jun/2024:08:15:30 +0530

Aliases

apachenginx_log

Type Registry