Skip to content

Commit

Permalink
Fix req object placement
Browse files Browse the repository at this point in the history
  • Loading branch information
TomaszS committed Jan 19, 2024
1 parent 77191ae commit 13f280a
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 1 deletion.
4 changes: 3 additions & 1 deletion logger.js
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ function pinoLogger (opts, stream) {

log[level](
onRequestErrorObject(req, res, error, {
[reqKey]: req,
[resKey]: res,
[errKey]: error,
[responseTimeKey]: responseTime
Expand All @@ -127,6 +128,7 @@ function pinoLogger (opts, stream) {

log[level](
onRequestSuccessObject(req, res, {
[reqKey]: req,
[resKey]: res,
[responseTimeKey]: responseTime
}),
Expand All @@ -141,7 +143,7 @@ function pinoLogger (opts, stream) {

const log = quietReqLogger ? logger.child({ [requestIdKey]: req.id }) : logger

let fullReqLogger = log.child({ [reqKey]: req })
let fullReqLogger = log
const customPropBindings = (typeof customProps === 'function') ? customProps(req, res) : customProps
if (customPropBindings) {
fullReqLogger = fullReqLogger.child(customPropBindings)
Expand Down
29 changes: 29 additions & 0 deletions test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -1260,6 +1260,9 @@ test('uses custom request properties and a receivedMessage callback and the prop
const dest = split(JSON.parse)
const message = DEFAULT_REQUEST_RECEIVED_MSG
const logger = pinoHttp({
customReceivedObject: function (req) {
return { req }
},
customReceivedMessage: function (_req, _res) {
return message
},
Expand Down Expand Up @@ -1444,3 +1447,29 @@ test('quiet request logging - custom request id key', function (t) {
})
}, handler)
})

test('uses the nested key passed in as an option to hold values', function (t) {
const NESTED_KEY_VALUE = 'someKey'
const dest = split(JSON.parse)
const logger = pinoHttp({ nestedKey: NESTED_KEY_VALUE }, dest)

setup(t, logger, function (err, server) {
t.error(err)
doGet(server)
})

dest.on('data', function (line) {
t.type(line[NESTED_KEY_VALUE], 'object', `${NESTED_KEY_VALUE} should exist`)
t.type(line[NESTED_KEY_VALUE].req, 'object', `req should be nested under ${NESTED_KEY_VALUE}`)
t.type(line[NESTED_KEY_VALUE].res, 'object', `req should be nested under ${NESTED_KEY_VALUE}`)
t.type(line[NESTED_KEY_VALUE].responseTime, 'number', `req should be nested under ${NESTED_KEY_VALUE}`)

t.ok(line[NESTED_KEY_VALUE], `${NESTED_KEY_VALUE} is defined`)
t.ok(line[NESTED_KEY_VALUE].req, `${NESTED_KEY_VALUE}.req is defined`)
t.ok(line[NESTED_KEY_VALUE].req, `${NESTED_KEY_VALUE}.res is defined`)
t.notOk(line.req, 'req should be nested under nestedKey')
t.notOk(line.res, 'res should be nested under nestedKey')

t.end()
})
})

0 comments on commit 13f280a

Please sign in to comment.