pinojs/pino-http

customProps always logs duplicate keys

Aberta

#216 aberto em 5 de mai. de 2022

 (37 comentários) (15 reações) (0 responsável)JavaScript (128 forks)github user discovery
buggood first issue

Métricas do repositório

Stars
 (694 estrelas)
Métricas de merge de PR
 (Mesclagem média 1m) (2 fundiu PRs em 30d)

Description

customProps always logs duplicate keys.

I am working with google cloud logging and it doesn't play nicely with the duplicate keys:

    customProps(req) {
      // adds a custom object to all http logs that stackdriver
      // uses to make logs more informative and visible at a glance
      // see: https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#httprequest
      // for the details of the structured log messages
      return {
        httpRequest: {
          requestMethod: req.method,
          requestUrl: req.url,
          userAgent: req.headers['user-agent'],
          remoteIp:
            req.headers['x-forwarded-for']?.split(',').shift() ||
            req.socket?.remoteAddress,
        },
      };
    },

For instance: custom props cause the following log: "{ "httpRequest": {"method":"GET"},"httpRequest": {"method":"GET"}}"

ends up in stackdriver/google cloud logging looking like: {httpRequest: { method: 'GETGET' }}

related to https://github.com/pinojs/pino-http/pull/197

Guia do colaborador