Winston : comprendre les niveaux de journalisation

De la lecture et de jongler avec des Winston, je suis perplexe quant à pourquoi les niveaux d'enregistrement sont ordonnées comme ils sont et pourquoi les transports se comportent de la façon dont ils le font (enfin, au moins la Console). Je vous en serais reconnaissant si quelqu'un pouvait, peut-être même à fond, avec de vrais exemples de cas d'utilisation, d'expliquer pourquoi la journalisation avec Winston fonctionne de cette façon?

Par exemple, j'ai installé mon enregistreur comme ceci :

var logger = new (winston.Logger)({
  levels: winston.config.syslog.levels,
  colors: winston.config.syslog.colors,
  level: "debug",  //I'm not sure what this option even does here???
  transports: [
    new (winston.transports.Console)({
      colorize: true,
      handleExceptions: true,
      json: false,
      level: "debug"
    })
  ]
});

Donc, si je ne logger.debug("Test");, puis il enregistre debug: Test, fine. Mais si je ne logger.info("Test");, puis rien ne se passe.

Le problème que j'ai, c'est que, Si je veux ouvrir une session sur la console eveverything mais debug messages, que dois-je faire? ... ou même debug et info les messages, mais les journaux de tout le reste?

Venant d'un monde Java, en utilisant le standard de bûcherons, je suis habitué à avoir debug être plus "fine" que warn et les bûcherons travaillé à l'envers; réglage du niveau d'enregistrement à info, par exemple, ne tout dans le journal, mais debug (ou quelque chose).

Aussi, que si je voudrais un enregistreur de frappe pour enregistrer uniquement les error, warning et info messages, comment pourrais-je le faire avec Winston?

* EDIT *

Apparemment, cette commande de niveau est unique à winston.config.syslog.levels. Donc, la seule question qui reste est : "Est-il possible d', en quelque sorte, de restreindre un transport à très spécifique niveau d'enregistrement?"

en effet, il y a eu un bug dans winston pré 2.0 : winston.config.syslog.levels avait ses " valeurs numériques dans l'ordre inverse que les valeurs par défaut ! Leur utilisation permet de winston inutilisable. Cela a été corrigé dans la version 2.0.0 : github.com/winstonjs/winston/blob/master/...

OriginalL'auteur Yanick Rochon | 2014-01-05