web-dev-qa-db-fra.com

winston: tentative d'écriture de journaux sans transport - utilisation du consignateur par défaut

J'ai suivi un didacticiel pour configurer le consignateur par défaut de Winston (2.x) dans mon application express. Lors de la mise à jour vers la version actuelle de winston (3.0.0), j'ai un problème avec l'ajout des transports. J'ai suivi les derniers documents mais je reçois toujours l'avis dans la console et aucun fichier journal n'est créé:

[winston] Tentative d'écrire des journaux sans transport

logging.js

const winston = require('winston');

module.exports = function () {

  const files = new winston.transports.File({ filename: 'logfile.log' });
  const myconsole = new winston.transports.Console();

  winston.add(myconsole);
  winston.add(files);

}

index.js

const winston = require('winston');
...

require('./logging');
winston.info("Give some info");

[winston] Tentative d'écrire des journaux sans transport {"message": "Donner des infos", "niveau": "info"}

Qu'est-ce que je fais mal?

4
ekntrtmz

J'ai aussi eu un problème similaire. Si je me souviens bien, j'ai dû appeler l'exigence en tant que fonction dans mon index.js.

require('./logging')();
0
GCQ

Dans winston 3, vous devez créer un objet logger, puis y ajouter transports.

Winston 3 a beaucoup de exemples , mais pour s’adapter à partir du readme , procédez comme ceci:

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'logfile.log' })
  ]
});

logger.info('it works!!');
6
davewy