From b5f5cbcf620d8708e832ecd01f65d9154c3a7e6a Mon Sep 17 00:00:00 2001 From: Anastasiia Dragich Date: Fri, 12 Jul 2024 14:10:44 +0200 Subject: [PATCH] fix(browser): should respect log level with transmit (#2005) Co-authored-by: Anastasiia Dragich --- browser.js | 9 +++++++-- test/browser-transmit.test.js | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/browser.js b/browser.js index 181eaa7a1..522de1a05 100644 --- a/browser.js +++ b/browser.js @@ -276,8 +276,13 @@ function set (self, opts, rootLogger, level) { configurable: true }) - if (!opts.transmit && self[level] === noop) { - return + if (self[level] === noop) { + if (!opts.transmit) return + + const transmitLevel = opts.transmit.level || self.level + const transmitValue = rootLogger.levels.values[transmitLevel] + const methodValue = rootLogger.levels.values[level] + if (methodValue < transmitValue) return } // make sure the log format is correct diff --git a/test/browser-transmit.test.js b/test/browser-transmit.test.js index fb090c238..860524ba6 100644 --- a/test/browser-transmit.test.js +++ b/test/browser-transmit.test.js @@ -347,3 +347,23 @@ test('extracts correct bindings and raw messages over multiple transmits', ({ en end() }) + +test('does not log below configured level', ({ end, is }) => { + let message = null + const logger = pino({ + level: 'info', + browser: { + write (o) { + message = o.msg + }, + transmit: { + send () { } + } + } + }) + + logger.debug('this message is silent') + is(message, null) + + end() +})