MCPcopy
hub / github.com/fastify/fastify / createPinoLogger

Function createPinoLogger

lib/logger-pino.js:15–44  ·  view source on GitHub ↗
(opts)

Source from the content-addressed store, hash-verified

13} = require('./errors')
14
15function createPinoLogger (opts) {
16 if (opts.stream && opts.file) {
17 throw new FST_ERR_LOG_INVALID_DESTINATION()
18 } else if (opts.file) {
19 // we do not have stream
20 opts.stream = pino.destination(opts.file)
21 delete opts.file
22 }
23
24 const prevLogger = opts.logger
25 const prevGenReqId = opts.genReqId
26 let logger = null
27
28 if (prevLogger) {
29 opts.logger = undefined
30 opts.genReqId = undefined
31 // we need to tap into pino internals because in v5 it supports
32 // adding serializers in child loggers
33 if (prevLogger[serializersSym]) {
34 opts.serializers = Object.assign({}, opts.serializers, prevLogger[serializersSym])
35 }
36 logger = prevLogger.child({}, opts)
37 opts.logger = prevLogger
38 opts.genReqId = prevGenReqId
39 } else {
40 logger = pino(opts, opts.stream)
41 }
42
43 return logger
44}
45
46const serializers = {
47 req: function asReqValue (req) {

Callers 1

createLoggerFunction · 0.85

Calls 1

childMethod · 0.65

Tested by

no test coverage detected