Comparing version 1.6.0 to 1.7.0
@@ -16,5 +16,5 @@ 'use strict' | ||
options.serializers = options.serializers || {} | ||
options.serializers.req = asReqValue | ||
options.serializers.res = pino.stdSerializers.res | ||
options.serializers.err = pino.stdSerializers.err | ||
options.serializers.req = options.serializers.req || asReqValue | ||
options.serializers.res = options.serializers.res || pino.stdSerializers.res | ||
options.serializers.err = options.serializers.err || pino.stdSerializers.err | ||
@@ -85,2 +85,3 @@ if (options.logEvents === undefined) { | ||
request.logger.info({ | ||
payload: options.logPayload ? request.payload : undefined, | ||
res: request.raw.res, | ||
@@ -87,0 +88,0 @@ responseTime: info.responded - info.received |
{ | ||
"name": "hapi-pino", | ||
"version": "1.6.0", | ||
"version": "1.7.0", | ||
"description": "Hapi plugin for the Pino logger ", | ||
@@ -21,3 +21,3 @@ "main": "index.js", | ||
"devDependencies": { | ||
"code": "^4.0.0", | ||
"code": "^4.1.0", | ||
"coveralls": "^2.11.15", | ||
@@ -27,4 +27,4 @@ "flush-write-stream": "^1.0.0", | ||
"good-console": "^6.3.1", | ||
"hapi": "^16.0.0", | ||
"lab": "^13.0.1", | ||
"hapi": "^16.4.3", | ||
"lab": "^14.0.0", | ||
"pre-commit": "^1.1.2", | ||
@@ -35,3 +35,3 @@ "split2": "^2.0.1", | ||
"dependencies": { | ||
"pino": "^4.2.4" | ||
"pino": "^4.6.0" | ||
}, | ||
@@ -38,0 +38,0 @@ "repository": { |
@@ -84,3 +84,3 @@ # hapi-pino [](https://travis-ci.org/pinojs/hapi-pino) [](https://coveralls.io/github/pinojs/hapi-pino?branch=master) | ||
### Options | ||
- `[logPayload]` – when enabled, add the request payload as `payload` to the `response` event log. Defaults to `false`. | ||
- `[stream]` - the binary stream to write stuff to, defaults to | ||
@@ -87,0 +87,0 @@ `process.stdout`. |
122
test.js
@@ -23,2 +23,15 @@ 'use strict' | ||
server.connection({ port: 3000 }) | ||
server.route([ | ||
{ | ||
method: 'POST', | ||
path: '/', | ||
handler: (request, reply) => reply('ok') | ||
}, | ||
{ | ||
method: 'GET', | ||
path: '/error', | ||
handler: (request, reply) => reply(new Error('foobar')) | ||
} | ||
]) | ||
return server | ||
@@ -605,1 +618,110 @@ } | ||
}) | ||
experiment('logging with overridden serializer', () => { | ||
test('with pre-defined req serializer', (done) => { | ||
const server = getServer() | ||
const stream = sink((data) => { | ||
expect(data.req.uri).to.equal('/') | ||
done() | ||
}) | ||
const logger = require('pino')(stream) | ||
const plugin = { | ||
register: Pino.register, | ||
options: { | ||
instance: logger, | ||
serializers: { | ||
req: (req) => ({ uri: req.raw.req.url }) | ||
} | ||
} | ||
} | ||
server.register(plugin, (err) => { | ||
expect(err).to.be.undefined() | ||
server.inject({ | ||
method: 'GET', | ||
url: '/' | ||
}) | ||
}) | ||
}) | ||
test('with pre-defined res serializer', (done) => { | ||
const server = getServer() | ||
const stream = sink((data) => { | ||
expect(data.res.code).to.equal(404) | ||
done() | ||
}) | ||
const logger = require('pino')(stream) | ||
const plugin = { | ||
register: Pino.register, | ||
options: { | ||
instance: logger, | ||
serializers: { | ||
res: (res) => ({ code: res.statusCode }) | ||
} | ||
} | ||
} | ||
server.register(plugin, (err) => { | ||
expect(err).to.be.undefined() | ||
server.inject({ | ||
method: 'GET', | ||
url: '/' | ||
}) | ||
}) | ||
}) | ||
test('with pre-defined err serializer', (done) => { | ||
const server = getServer() | ||
const stream = sink((data) => { | ||
expect(data.err.errStack).to.not.be.undefined() | ||
done() | ||
}) | ||
const logger = require('pino')(stream) | ||
const plugin = { | ||
register: Pino.register, | ||
options: { | ||
instance: logger, | ||
serializers: { | ||
err: (err) => ({ errStack: err.stack }) | ||
} | ||
} | ||
} | ||
server.register(plugin, (err) => { | ||
expect(err).to.be.undefined() | ||
server.inject({ | ||
method: 'GET', | ||
url: '/error' | ||
}) | ||
}) | ||
}) | ||
}) | ||
experiment('logging with request payload', () => { | ||
test('with pre-defined req serializer', (done) => { | ||
const server = getServer() | ||
const stream = sink((data) => { | ||
expect(data.payload).to.equal({ foo: 42 }) | ||
done() | ||
}) | ||
const logger = require('pino')(stream) | ||
const plugin = { | ||
register: Pino.register, | ||
options: { | ||
instance: logger, | ||
logPayload: true | ||
} | ||
} | ||
server.register(plugin, (err) => { | ||
expect(err).to.be.undefined() | ||
server.inject({ | ||
method: 'POST', | ||
url: '/', | ||
payload: { | ||
foo: 42 | ||
} | ||
}) | ||
}) | ||
}) | ||
}) |
33847
1056
Updatedpino@^4.6.0