Skip to content

quietResLogger clarifications #350

Description

@whitlaaa

Big fan of pino and was looking at leveraging pino-http to replace some outdated custom setup in our apps. I was looking at the recently added quietResLogger option and was hoping you could clarify its behavior (and perhaps its intended usage based on #235/#339?).

According to the README, setting quietResLogger to true will include the request id under reqId and "only contain req" (I assume that last bit is just a typo that is supposed to say "only contain res").

However, reqId is only included under res.log if quietReqLogger is also set. Is the intended usage to set both options as the unit tests seem to indicate?

Reading #235, I assumed the use case was either:

  • Set customReceivedMessage and quietResLogger
    • This gets the request info auto logged when it's received
    • Then they can rely solely on res.log to get quiet logging with reqId during their business logic
  • Set only quietResLogger
    • Then use req.log at the start of a handler followed by only using res.log for quiet logging afterward, e.g.:
function handle (req, res) {
  logger(req, res)
  req.log.info('') // just log the request info
  res.log.info('doing some work') // quiet logs with only reqId
  ...
  res.log.inf('finished doing some work')
  res.end('hello world')
} 

However, I don't think either of the above approaches works if quietReqLogger is set since it suppresses req from both customReceivedMessage and req.log. Obviously I could log that req info in other ways even in quiet mode, but pino's consistent format is preferred.

Thanks and hopefully this made sense. Up way later than I should have been while reading docs and writing this. 😆

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions