common-log-format

v2.0.1
Transform web logs (common log format) to JSON
common log format web json convert transform

view on npm npm module downloads Gihub repo dependents Gihub package dependents Node.js CI js-standard-style

common-log-format

Pipe common log format in, get JSON out. Useful for converting web logs into a format more easily consumed by Javascript.

Standard log input such as:

127.0.0.1 - - [Wed, 11 Jun 2014 16:24:02 GMT] "GET / HTTP/1.1" 200 10305 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.76.4 (KHTML, like Gecko) Version/7.0.4 Safari/537.76.4"
127.0.0.1 - - [Wed, 11 Jun 2014 16:24:08 GMT] "GET /package.json HTTP/1.1" 304 - "http://localhost:8000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.76.4 (KHTML, like Gecko) Version/7.0.4 Safari/537.76.4"

would be converted to

{
  "remoteHost": "127.0.0.1",
  "remoteLogName": "-",
  "authUser": "-",
  "date": "2014-06-11T16:24:02.000Z",
  "request": "GET / HTTP/1.1",
  "status": 200,
  "bytes": 10305
}
{
  "remoteHost": "127.0.0.1",
  "remoteLogName": "-",
  "authUser": "-",
  "date": "2014-06-11T16:24:08.000Z",
  "request": "GET /package.json HTTP/1.1",
  "status": 304,
  "bytes": null
}

Usage

As a library

$ npm install common-log-format
import clf from 'common-log-format'

process.stdin.pipe(clf()).pipe(process.stdout)

Command line

This will install the clf command line tool:

$ npm install -g common-log-format
$ cat my-web-log.txt | clf
{"remoteHost":"127.0.0.1","remoteLogName":"-","authUser":"-","date":"2014-06-11T16:05:26.000Z","request":"GET /package.json HTTP/1.1","status":200,"bytes":733}

© 2015-2023 Lloyd Brookes <[email protected]>.

npm i common-log-format

Metadata

  • MIT
  • >=12
  • Lloyd Brookes
  • released 1/16/2023

Downloads

Maintainers