UNPKG

log4js-elasticsearch

Version:

log4js appender for node that targets elasticsearch. Compatible with logstash's elasticsearch_http output; Viewable with Kibana.

32 lines (31 loc) 1.26 kB
/* "@fields" => { "client" => "127.0.0.1", "duration_usec" => 240, "status" => 404, "request" => "/favicon.ico", "method" => "GET", "referrer" => "-" }, */ function logstashConnectFormatter(req, res, formattedOutput) { var fields = { url: req.originalUrl, method: req.method, status: res.__statusCode || res.statusCode, 'response-time': res.responseTime, referrer: req.headers.referer || req.headers.referrer || '', 'http-version': req.httpVersionMajor + '.' + req.httpVersionMinor, 'remote-addr': req.socket && (req.socket.remoteAddress || (req.socket.socket && req.socket.socket.remoteAddress)), 'user-agent': req.headers['user-agent'] || '', 'content-length': (res._headers && res._headers['content-length']) || (res.__headers && res.__headers['Content-Length']) || -1 }; var message = formattedOutput(':remote-addr - - ":method :url HTTP/:http-version" :status :content-length ":referrer" ":user-agent"', req, res); var resul = {}; Object.defineProperty(resul, '@fields', { value: fields, enumerable: true }); resul.toString = function() { return message; }; return resul; } exports.logstashConnectFormatter = logstashConnectFormatter;