Home / Function/ createPinoLogger() — fastify Function Reference

createPinoLogger() — fastify Function Reference

Architecture documentation for the createPinoLogger() function in logger-pino.js from the fastify codebase.

Entity Profile

Dependency Diagram

graph TD
  a457787b_239a_50ec_7ae7_98f066bde1ab["createPinoLogger()"]
  d29b2d41_51a1_ed13_68d8_5a2f4f267ee9["logger-pino.js"]
  a457787b_239a_50ec_7ae7_98f066bde1ab -->|defined in| d29b2d41_51a1_ed13_68d8_5a2f4f267ee9
  style a457787b_239a_50ec_7ae7_98f066bde1ab fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

lib/logger-pino.js lines 15–44

function createPinoLogger (opts) {
  if (opts.stream && opts.file) {
    throw new FST_ERR_LOG_INVALID_DESTINATION()
  } else if (opts.file) {
    // we do not have stream
    opts.stream = pino.destination(opts.file)
    delete opts.file
  }

  const prevLogger = opts.logger
  const prevGenReqId = opts.genReqId
  let logger = null

  if (prevLogger) {
    opts.logger = undefined
    opts.genReqId = undefined
    // we need to tap into pino internals because in v5 it supports
    // adding serializers in child loggers
    if (prevLogger[serializersSym]) {
      opts.serializers = Object.assign({}, opts.serializers, prevLogger[serializersSym])
    }
    logger = prevLogger.child({}, opts)
    opts.logger = prevLogger
    opts.genReqId = prevGenReqId
  } else {
    logger = pino(opts, opts.stream)
  }

  return logger
}

Domain

Subdomains

Defined In

Frequently Asked Questions

What does createPinoLogger() do?
createPinoLogger() is a function in the fastify codebase, defined in lib/logger-pino.js.
Where is createPinoLogger() defined?
createPinoLogger() is defined in lib/logger-pino.js at line 15.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free