Skip to content

Commit a216358

Browse files
authored
Merge pull request #1232 from forcedotcom/er/send-log-level-to-pino-logger
W-19394423: set log level in Pino options
2 parents c748ef7 + 42e92dd commit a216358

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/logger/logger.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ export class Logger {
168168
const commonOptions = {
169169
name: options.name ?? Logger.ROOT_NAME,
170170
base: options.fields ?? {},
171+
level,
171172
enabled,
172173
...(Global.isWeb ? { browser: { asObject: true } } : {}),
173174
};

test/unit/logger/logger.test.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,4 +215,25 @@ describe('Logger', () => {
215215
expect(logRecords[0]).to.have.property('newField3', true);
216216
});
217217
});
218+
219+
describe('Pino level configuration', () => {
220+
it('make sure the pino level is set correctly', async () => {
221+
// When no level is set, the Pino level defaults to INFO.
222+
// So we set a level lower than INFO to make sure the Pino level is set correctly
223+
process.env.SF_LOG_LEVEL = 'debug';
224+
225+
const logger = await Logger.child('childTestLogger');
226+
logger.trace('This message should NOT appear');
227+
logger.debug('This message SHOULD appear');
228+
logger.error('This message SHOULD appear');
229+
logger.info('This message SHOULD appear');
230+
231+
// Assert
232+
const records = logger.getBufferedRecords();
233+
expect(records).to.have.length(3);
234+
expect(records[0]).to.have.property('level', LoggerLevel.DEBUG);
235+
expect(records[1]).to.have.property('level', LoggerLevel.ERROR);
236+
expect(records[2]).to.have.property('level', LoggerLevel.INFO);
237+
});
238+
});
218239
});

0 commit comments

Comments
 (0)