From 1b77d40be88d33b45bc43ef733389846eb199a9e Mon Sep 17 00:00:00 2001 From: Tomas Della Vedova Date: Mon, 16 Mar 2020 10:44:11 +0100 Subject: [PATCH] Use the version number provided by ecs-helpers (#13) * Use the version number provided by ecs-helpers * Updated test --- loggers/morgan/index.js | 5 ++--- loggers/morgan/package.json | 2 +- loggers/morgan/test.js | 4 +++- loggers/winston/index.js | 5 ++--- loggers/winston/package.json | 2 +- loggers/winston/test.js | 6 ++++-- 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/loggers/morgan/index.js b/loggers/morgan/index.js index 77c38d9..7424968 100644 --- a/loggers/morgan/index.js +++ b/loggers/morgan/index.js @@ -6,6 +6,7 @@ const morgan = require('morgan') const { + version, stringify, formatHttpRequest, formatHttpResponse @@ -23,9 +24,7 @@ function ecsFormat (format = morgan.combined) { logger: 'morgan' }, message: messageFormat(token, req, res), - ecs: { - version: '1.4.0' - } + ecs: { version } } formatHttpRequest(ecs, req) diff --git a/loggers/morgan/package.json b/loggers/morgan/package.json index 1bed7b4..2053fc5 100644 --- a/loggers/morgan/package.json +++ b/loggers/morgan/package.json @@ -31,7 +31,7 @@ "node": ">=10" }, "dependencies": { - "@elastic/ecs-helpers": "^0.1.0" + "@elastic/ecs-helpers": "^0.2.0" }, "devDependencies": { "ajv": "^6.11.0", diff --git a/loggers/morgan/test.js b/loggers/morgan/test.js index bb4891b..c165c9b 100644 --- a/loggers/morgan/test.js +++ b/loggers/morgan/test.js @@ -11,6 +11,8 @@ const express = require('express') const morgan = require('morgan') const stoppable = require('stoppable') const split = require('split2') +const { version } = require('@elastic/ecs-helpers') + const ecsFormat = require('./') const ajv = Ajv({ @@ -57,7 +59,7 @@ test.cb('Keys order', t => { const stream = split().on('data', line => { const log = JSON.parse(line) - t.is(line, `{"@timestamp":"${log['@timestamp']}","log":{"level":"info","logger":"morgan"},"message":"${JSON.stringify(log.message).slice(1, -1)}","ecs":{"version":"1.4.0"},"http":{"version":"1.1","request":{"method":"post","headers":{"accept-encoding":"gzip, deflate","content-type":"application/json","host":"${log.http.request.headers.host}","connection":"close"},"body":{"bytes":17}},"response":{"status_code":200,"headers":{"x-powered-by":"Express"}}},"url":{"path":"/","domain":"localhost","query":"foo=bar","full":"/?foo=bar"},"user_agent":{"original":"cool-agent"}}`) + t.is(line, `{"@timestamp":"${log['@timestamp']}","log":{"level":"info","logger":"morgan"},"message":"${JSON.stringify(log.message).slice(1, -1)}","ecs":{"version":"${version}"},"http":{"version":"1.1","request":{"method":"post","headers":{"accept-encoding":"gzip, deflate","content-type":"application/json","host":"${log.http.request.headers.host}","connection":"close"},"body":{"bytes":17}},"response":{"status_code":200,"headers":{"x-powered-by":"Express"}}},"url":{"path":"/","domain":"localhost","query":"foo=bar","full":"/?foo=bar"},"user_agent":{"original":"cool-agent"}}`) }) const app = express() diff --git a/loggers/winston/index.js b/loggers/winston/index.js index 2fcd952..a17e902 100644 --- a/loggers/winston/index.js +++ b/loggers/winston/index.js @@ -7,6 +7,7 @@ const { MESSAGE } = require('triple-beam') const { format } = require('winston') const { + version, stringify, formatHttpRequest, formatHttpResponse @@ -32,9 +33,7 @@ function ecsFormat (log) { logger: 'winston' }, message: log.message, - ecs: { - version: '1.4.0' - } + ecs: { version } } if (log.req || log.request) { diff --git a/loggers/winston/package.json b/loggers/winston/package.json index 8793e25..b044b66 100644 --- a/loggers/winston/package.json +++ b/loggers/winston/package.json @@ -30,7 +30,7 @@ "node": ">=10" }, "dependencies": { - "@elastic/ecs-helpers": "^0.1.0" + "@elastic/ecs-helpers": "^0.2.0" }, "devDependencies": { "ajv": "^6.11.0", diff --git a/loggers/winston/test.js b/loggers/winston/test.js index 21f4ed8..485f569 100644 --- a/loggers/winston/test.js +++ b/loggers/winston/test.js @@ -12,6 +12,8 @@ const winston = require('winston') const Transport = require('winston-transport') const { MESSAGE } = require('triple-beam') const Ajv = require('ajv') +const { version } = require('@elastic/ecs-helpers') + const ecsFormat = require('./') const ajv = Ajv({ @@ -223,12 +225,12 @@ test('Keys order', t => { if (count++ === 0) { t.is( info[MESSAGE], - `{"@timestamp":"${line['@timestamp']}","log":{"level":"info","logger":"winston"},"message":"ecs is cool!","ecs":{"version":"1.4.0"}}` + `{"@timestamp":"${line['@timestamp']}","log":{"level":"info","logger":"winston"},"message":"ecs is cool!","ecs":{"version":"${version}"}}` ) } else { t.is( info[MESSAGE], - `{"@timestamp":"${line['@timestamp']}","log":{"level":"error","logger":"winston"},"message":"ecs is cool!","ecs":{"version":"1.4.0"},"hello":"world"}` + `{"@timestamp":"${line['@timestamp']}","log":{"level":"error","logger":"winston"},"message":"ecs is cool!","ecs":{"version":"${version}"},"hello":"world"}` ) } callback()