Existe-t-il une bibliothèque qui m'aidera à gérer la journalisation dans mon application Node.Js? Tout ce que je veux faire, c'est que je veux écrire tous les journaux dans un fichier et j'ai également besoin d'options telles que le déploiement du fichier après une certaine taille ou date.
J'ai incorporé log4js en essayant de conserver tous les détails de configuration dans un seul fichier et d'utiliser uniquement les méthodes des autres fichiers d'application pour faciliter la maintenance. Mais cela ne fonctionne pas comme prévu. Voici ce que j'essaye de faire
var log4js = require('log4js');
log4js.clearAppenders()
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file('test.log'), 'test');
var logger = log4js.getLogger('test');
logger.setLevel('ERROR');
var traceLogger = function (message) {
logger.trace('message');
};
var errorLogger = function (message) {
logger.trace(message);
};
exports.trace = traceLogger;
exports.error = errorLogger;
J'ai inclus ce fichier dans d'autres fichiers et essayé
log.error ("Hello Error Message");
Mais ça ne fonctionne pas. Y a-t-il quelque chose de mal à cela?
Réponses:
Winston est une très bonne bibliothèque de journalisation. Vous pouvez écrire des déconnexions dans un fichier en l'utilisant.
Le code ressemblerait à quelque chose comme:
Vous pouvez ensuite utiliser ceci comme:
la source
Enregistreur léger Scribe.JS
J'ai parcouru de nombreux enregistreurs et je n'ai pas pu trouver de solution légère - j'ai donc décidé de créer une solution simple publiée sur github.
J'espère que cela vous aidera.
Démo en ligne
http://bluejamesbond.github.io/Scribe.js/
Accès Web sécurisé aux journaux
Imprime aussi un joli texte sur la console!
L'accès à Internet
Github
https://github.com/bluejamesbond/Scribe.js
la source
Log4js est l'une des bibliothèques de journalisation les plus populaires pour l'application nodejs.
Il prend en charge de nombreuses fonctionnalités intéressantes:
Exemple:
Installation:
npm install log4js
Configuration (
./config/log4js.json
):Usage:
la source
Vous pouvez également utiliser npmlog par issacs, recommandé dans https://npmjs.org/doc/coding-style.html .
Vous pouvez trouver ce module ici https://github.com/isaacs/npmlog
la source
Le "logger.setLevel ('ERROR');" cause le problème. Je ne comprends pas pourquoi, mais lorsque je le mets sur autre chose que "ALL", rien n'est imprimé dans le fichier. J'ai fouillé un peu et modifié votre code. Cela fonctionne bien pour moi. J'ai créé deux fichiers.
logger.js
logger.test.js
Lorsque j'exécute "node logger.test.js", je ne vois que "message d'erreur" dans le fichier test.log. Si je change le niveau en "TRACE", les deux lignes sont imprimées sur test.log.
la source
Winston est un choix judicieux pour la plupart des développeurs. J'utilise winston depuis longtemps. Récemment, j'ai utilisé winston avec avec papertrail qui fait passer la journalisation des applications au niveau supérieur.
Voici une belle capture d'écran de leur site.
Comment c'est utile
vous pouvez gérer les journaux de différents systèmes en un seul endroit. cela peut être très utile lorsque deux backend communiquent et que vous pouvez voir les journaux des deux sur place.
Les journaux sont en direct. vous pouvez voir les journaux en temps réel de votre serveur de production.
Recherche et filtre puissants
vous pouvez créer des alertes pour vous envoyer un e-mail s'il rencontre un texte spécifique dans le journal.
et vous pouvez en trouver plus http://help.papertrailapp.com/kb/how-it-works/event-viewer/
Une configuration simple utilisant
winston
,winston-express
et deswinston-papertrail
modules de nœuds.J'espère que cela aidera quelqu'un à gérer ses journaux !!
la source
Un module 'nodejslogger' peut être utilisé pour une journalisation simple. Il a trois niveaux de journalisation (INFO, ERROR, DEBUG)
D: Debug, I: Info, E: Erreur
Le module est accessible à l' adresse : https://www.npmjs.com/package/nodejslogger
la source
Observez que errorLogger est un wrapper autour de logger.trace . Mais le niveau de l'enregistreur est ERROR, donc logger.trace n'enregistrera pas son message dans les appenders de l' enregistreur .
Le correctif consiste à changer logger.trace en logger.error dans le corps de errorLogger .
la source