Gibt es eine Bibliothek, die mir bei der Protokollierung in meiner Node.Js-Anwendung hilft? Ich möchte nur alle Protokolle in eine Datei schreiben und benötige Optionen wie das Ausrollen der Datei nach einer bestimmten Größe oder einem bestimmten Datum.
Ich habe log4js integriert und versuche, alle Konfigurationsdetails in einer Datei zu speichern und nur die Methoden in anderen Anwendungsdateien zu verwenden, um die Wartung zu vereinfachen. Aber es funktioniert nicht wie erwartet. Folgendes versuche ich zu tun
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;
Ich habe diese Datei in andere Dateien aufgenommen und versucht
log.error ("Hello Error Message");
Aber es funktioniert nicht. Ist daran etwas falsch?
Antworten:
Winston ist eine ziemlich gute Protokollierungsbibliothek. Sie können damit Protokolle in eine Datei schreiben.
Code würde ungefähr so aussehen:
Sie können dies dann wie folgt verwenden:
quelle
Scribe.JS Lightweight Logger
Ich habe viele Logger durchgesehen und konnte keine einfache Lösung finden. Deshalb habe ich mich für eine einfache Lösung entschieden, die auf Github veröffentlicht wird.
Ich hoffe das hilft dir weiter.
Online-Demo
http://bluejamesbond.github.io/Scribe.js/
Sicherer Webzugriff auf Protokolle
Druckt auch hübschen Text auf die Konsole!
Web-Zugang
Github
https://github.com/bluejamesbond/Scribe.js
quelle
Log4js ist eine der beliebtesten Protokollierungsbibliotheken für die Anwendung nodejs.
Es unterstützt viele coole Funktionen:
Beispiel:
Installation:
npm install log4js
Konfiguration (
./config/log4js.json
):Verwendung:
quelle
Sie können npmlog auch von issacs verwenden, empfohlen unter https://npmjs.org/doc/coding-style.html .
Sie finden dieses Modul hier https://github.com/isaacs/npmlog
quelle
Die "logger.setLevel ('ERROR');" verursacht das Problem. Ich verstehe nicht warum, aber wenn ich es auf etwas anderes als "ALL" setze, wird nichts in der Datei gedruckt. Ich stöberte ein wenig herum und änderte Ihren Code. Es funktioniert gut für mich. Ich habe zwei Dateien erstellt.
logger.js
logger.test.js
Wenn ich "node logger.test.js" ausführe, wird in der Datei test.log nur "ERROR message" angezeigt. Wenn ich den Pegel auf "TRACE" ändere, werden beide Zeilen auf test.log gedruckt.
quelle
Winston ist für die meisten Entwickler eine gute Wahl. Ich benutze Winston schon lange. Kürzlich habe ich Winston mit Papertrail verwendet, um die Anwendungsprotokollierung auf die nächste Stufe zu heben.
Hier ist ein schöner Screenshot von ihrer Seite.
Wie nützlich es ist
Sie können Protokolle von verschiedenen Systemen an einem Ort verwalten. Dies kann sehr nützlich sein, wenn zwei Backends miteinander kommunizieren und Protokolle von beiden an Ort und Stelle angezeigt werden.
Protokolle sind live. Sie können Echtzeitprotokolle Ihres Produktionsservers anzeigen.
Leistungsstarke Suche und Filterung
Sie können Benachrichtigungen erstellen, um Ihnen E-Mails zu senden, wenn im Protokoll ein bestimmter Text gefunden wird.
und Sie können mehr finden http://help.papertrailapp.com/kb/how-it-works/event-viewer/
Eine einfache Konfiguration verwendet
winston
,winston-express
und diewinston-papertrail
Knotenmodule.Ich hoffe, das hilft jemandem, seine Protokolle zu verwalten !!
quelle
Ein 'nodejslogger'-Modul kann zur einfachen Protokollierung verwendet werden. Es gibt drei Protokollierungsstufen (INFO, ERROR, DEBUG)
D: Debug, I: Info, E: Fehler
Das Modul kann unter folgender Adresse aufgerufen werden: https://www.npmjs.com/package/nodejslogger
quelle
Beachten Sie, dass errorLogger ein Wrapper um ist logger.trace . Die Ebene des Loggers ist jedoch ERROR, sodass logger.trace seine Nachricht nicht in den Appendern des Loggers protokolliert .
Die Lösung ist zu ändern logger.trace zu logger.error im Körper errorLogger .
quelle