Skip to content

Commit b0c4814

Browse files
committed
fix: only show debug logs in 'development'
1 parent 9543516 commit b0c4814

File tree

2 files changed

+57
-3
lines changed

2 files changed

+57
-3
lines changed

__tests__/integration.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,4 +420,39 @@ describe.each(EACH_MATRIX)('%s:%s: integration tests', (eventSourceName, framewo
420420
})
421421
expect(response).toEqual(expectedResponse)
422422
})
423+
424+
test('custom logger', async () => {
425+
app = express()
426+
router = express.Router()
427+
app.use('/', router)
428+
router.get('/users', (req, res) => {
429+
res.json({})
430+
})
431+
const event = makeEvent({
432+
eventSourceName,
433+
path: '/users',
434+
httpMethod: 'GET'
435+
})
436+
const customLogger = {
437+
error: jest.fn(),
438+
warn: jest.fn(),
439+
info: jest.fn(),
440+
verbose: jest.fn(),
441+
debug: jest.fn()
442+
}
443+
serverlessExpressInstance = serverlessExpress({ app, log: customLogger })
444+
await serverlessExpressInstance.handler(event)
445+
446+
expect(customLogger.debug.mock.calls.length).toBe(6)
447+
448+
// TODO: test log levels
449+
// customLogger.level = 'error'
450+
// customLogger.debug.mockClear()
451+
// customLogger.debug.mockReset()
452+
// customLogger.debug = jest.fn()
453+
454+
// serverlessExpressInstance = serverlessExpress({ app, log: customLogger })
455+
// await serverlessExpressInstance.handler(event)
456+
// expect(customLogger.debug.mock.calls.length).toBe(0)
457+
})
423458
})

src/logger.js

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,37 @@
11
const logger = {
2+
// TODO: allow users to set log level without having to provide the other log methods
3+
level: process.env === 'development' ? 'debug' : 'error',
4+
error (message, additional) {
5+
if (!logger.level.includes('debug', 'verbose', 'info', 'warn', 'error')) return
6+
console.error({
7+
message,
8+
...additional
9+
})
10+
},
11+
warn (message, additional) {
12+
if (!logger.level.includes('debug', 'verbose', 'info', 'warn')) return
13+
console.warn({
14+
message,
15+
...additional
16+
})
17+
},
218
info (message, additional) {
19+
if (!logger.level.includes('debug', 'verbose', 'info')) return
320
console.info({
421
message,
522
...additional
623
})
724
},
8-
debug (message, additional) {
25+
verbose (message, additional) {
26+
if (!logger.level.includes('debug', 'verbose')) return
927
console.debug({
1028
message,
1129
...additional
1230
})
1331
},
14-
error (message, additional) {
15-
console.error({
32+
debug (message, additional) {
33+
if (logger.level !== 'debug') return
34+
console.debug({
1635
message,
1736
...additional
1837
})

0 commit comments

Comments
 (0)