1
resposta

TypeError: winston.Logger is not a constructor

Acho que seja um erro devido ser uma versão mais recente do Winston.

Usei o código do professor:

var fs = require('fs');
var winston = require('winston');

if (!fs.existsSync("logs")) {
  fs.mkdirSync("logs");
}

module.exports = new winston.Logger({
  transports: [
    new winston.transports.File({
      level: "info",
      filename: "logs/payfast.log",
      maxsize: 1048576,
      maxFiles: 10,
      colorize: false
    })
  ]
});

Apresentou esse erro:

module.exports = new winston.Logger({
                 ^

TypeError: winston.Logger is not a constructor
    at Object.<anonymous> (C:\Codes\alura\payfast\payfast\servicos\logger.js:8:18)

Consegui resolver, ao invés de:

module.exports = new winston.Logger({

Coloquei assim:

module.exports = winston.createLogger({
1 resposta

Oi, Gabriel, tudo bem?

Isso! Precisamos fazer essa atualização de winston.Logger para winston.createLogger para versões mais novas, como a versão 3 do winston.

Obrigada por compartilhar!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software