A program for parsing CouchDB logs
var LogParse = require('couchdb-log-parse')
var parser = new LogParse()
fs.createReadStream('couchdb.log').pipe(parser)
parser.on('data', function (c) {
// this is the raw data, don't know why you need this, but whatever
})
parser.on('message', function (message) {
// this is probably what you want.
// it's the parsed object with informative fields
})
The parsed messages all have these fields:
date
The date that the log was postedlevel
Usually one of info, warn, or errorpid
Not a real pid. Some kind of silly erlang goober.type
Either 'http', 'erl', or 'misc'
Depending on the type
they may have the following fields as well:
ip
The requesting IP. (If you're behind a proxy or load balancer, then it's not super interesting.)method
Something like GET, POST, PUT, etc.url
The url requestedstatusCode
The response status code.
message
Whatever comes before the dump. Sometimes blank.dump
The dumped erlang object. (If someone wants to write a parser for the erlang objdump notation, that'd be rad.)
message
Whatever it was that couldn't be parsed.