From 42e637d061072577fd2a96d237923c6f50575765 Mon Sep 17 00:00:00 2001 From: aaestrada Date: Wed, 24 Nov 2021 10:33:29 -0700 Subject: [PATCH 1/3] Fix read ECONRESET error #145 --- index.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index 8257c2b..78b8eeb 100644 --- a/index.js +++ b/index.js @@ -117,10 +117,12 @@ async function register (server, options) { }) server.events.on('log', function (event) { - if (event.error) { - logger.error({ err: event.error }) - } else if (!isCustomTagsLoggingIgnored(event, ignoredEventTags.log)) { - logEvent(logger, event) + if (!isCustomTagsLoggingIgnored(event, ignoredEventTags.log)) { // first check on ignoring tags + if (event.error) { + logger.error({ err: event.error }) + } else { + logEvent(logger, event) + } } }) From 136e791fabbc5a50f035dbf3100558f529c86881 Mon Sep 17 00:00:00 2001 From: aaestrada Date: Sun, 16 Jan 2022 21:42:36 -0600 Subject: [PATCH 2/3] Unit tests: Review ignoredEventTags before process events logs --- test.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test.js b/test.js index 7b3fa30..ac9b26e 100644 --- a/test.js +++ b/test.js @@ -2087,6 +2087,45 @@ experiment('log redact', () => { }) experiment('ignore the log event triggered by request.log and server.log', () => { + test('Review ignoredEventTags before process events logs', async () => { + const server = Hapi.server({ port: 0 }) + let called = true + const stream = sink(() => { + called = false + }) + + server.route({ + path: '/foo', + method: 'GET', + handler: (req, h) => { + req.log(['TEST'], 'even im not getting logged') + return 'foo' + } + }) + const logger = require('pino')(stream) + + const plugin = { + plugin: Pino, + options: { + instance: logger, + logRequestComplete: false, + ignoredEventTags: { + log: ['test'], + request: ['*'] + } + } + } + + await server.register(plugin) + server.log(['test'], 'im not getting logged') + + await server.inject({ + method: 'GET', + url: '/foo' + }) + expect(called).to.be.false() + }) + test('do not log events to console if the event tags are included in ignoredEventTags', async () => { const server = Hapi.server({ port: 0 }) let called = false From 207bd4b59d75686ecb63bc2bd4a858bbbad6bafd Mon Sep 17 00:00:00 2001 From: aaestrada Date: Sun, 23 Jan 2022 13:05:52 -0600 Subject: [PATCH 3/3] log event errors separated of log events --- test.js | 42 +----------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/test.js b/test.js index 0422303..b0848e2 100644 --- a/test.js +++ b/test.js @@ -426,7 +426,6 @@ experiment('logs through server.log', () => { }) await tagsWithSink(server, {}, data => { - expect(data.tags).to.equal(['error', 'tag']) expect(data.err.type).to.equal('Error') expect(data.err.message).to.equal('foobar') expect(data.err.stack).to.exist() @@ -435,7 +434,7 @@ experiment('logs through server.log', () => { resolver() }) - server.log(['error', 'tag'], new Error('foobar')) + server.log(['error'], new Error('foobar')) await done }) @@ -2119,45 +2118,6 @@ experiment('log redact', () => { }) experiment('ignore the log event triggered by request.log and server.log', () => { - test('Review ignoredEventTags before process events logs', async () => { - const server = Hapi.server({ port: 0 }) - let called = true - const stream = sink(() => { - called = false - }) - - server.route({ - path: '/foo', - method: 'GET', - handler: (req, h) => { - req.log(['TEST'], 'even im not getting logged') - return 'foo' - } - }) - const logger = require('pino')(stream) - - const plugin = { - plugin: Pino, - options: { - instance: logger, - logRequestComplete: false, - ignoredEventTags: { - log: ['test'], - request: ['*'] - } - } - } - - await server.register(plugin) - server.log(['test'], 'im not getting logged') - - await server.inject({ - method: 'GET', - url: '/foo' - }) - expect(called).to.be.false() - }) - test('do not log events to console if the event tags are included in ignoredEventTags', async () => { const server = Hapi.server({ port: 0 }) let called = false