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?"
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
Vous devez vous connecter pour publier un commentaire.
Que par la la documentation, vous pouvez définir vos propres niveaux de Journalisation, 0 étant le plus bas, et les associer à des couleurs. Maintenant, si vous ne voulez pas vous connecter le niveau le plus bas, il suffit de régler le
level
bien pour le niveau correspondant. Par défaut, la console enregistreur dispose d'un niveau d'info
Donc, voici un exemple:
ok
eterror
, et pas seulementok
.Intuitivement, je présume que vous voulez faire écho au-dessus d'un niveau donné. Je ne sais pas si il existe des fonctionnalités à winston pour filtrer uniquement spécifique à journaux, mais aussi un travail autour de vous, vous pouvez jongler avec vos niveaux de sorte que
OK
a priorité plus élevée queERROR
, de cette façon, vous pouvez filtrer... je vais regarder autour pour voir si winston pouvez filtrer les logs sur un seul niveau.Oui, je pense que c'est ce qui se passe. Vous ne pouvez pas définir des niveaux spécifiques pour être montré en ignorant les niveaux supérieurs. Voir Question n ° 89
Merci, même si cette question était de plus de 2 ans, il m'a fait réaliser que la racine du problème était la
syslog
, les niveaux et les couleurs, en tant que par défaut les niveaux n'ont pas ce problème. J'ai édité ma question pour en tenir compte.Ha Ha... Ne pense pas que 2 ans plus tard, j'ai de la lecture de ce sujet et de trouver votre réponse.
OriginalL'auteur kumar_harsh
OriginalL'auteur mostafa.mortazavi