Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

118
Visualizações
Loggin middleware with winston and morgan

I create a logger middleware with using winston and morgan like below:

  const format = winston.format.combine(
    winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss:ms' }),
    winston.format.printf(
      (info) => `${info.timestamp} ${info.level}: ${info.message}`,
    ),
  )

  const transports = [
    new winston.transports.Console(),
    new winston.transports.File({
      filename: 'logs/error.log',
      level: 'error',
    }),
    new winston.transports.File({ filename: 'logs/all.log' }),
  ]

  const logger = winston.createLogger({
    format,
    level: "info",
    transports
  })

  const stream = {
    write: (message) => logger.log(message),
  };

  const morganMiddleware = morgan(
    ":remote-addr :method :url :status :res[content-length] - :response-time ms",
    { stream }
  );

  app.use(morganMiddleware);

But when my start is running and receive first log, winston throw me this error:

level[LEVEL] = level.level;
                   ^

TypeError: Cannot create property 'Symbol(level)' on string '::1 GET /api/amr/applications?order=ASC&sortBy=application.lastIncidentAt 304 - - 380.459 ms

can someone tell me what is wrong with my winston/morgan configuration?

thanks for any help!

almost 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Winston Logger expects two arguments. So instead of this:

 const stream = {
 write: (message) => logger.log(message),
};

Do this:

 const stream = {
 write: (message) => {
 // Usar el nivel "info" por defecto o puedes analizar el mensaje para extraer el nivel si lo incluyes en el mensaje
 logger.log('info', message);
 },
};
almost 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda