Heim >Web-Frontend >js-Tutorial >Erstellen eines benutzerdefinierten Loggers für eine Node.js-Anwendung mit Errsole
Jedes robuste Protokollierungssystem besteht aus drei Schlüsselkomponenten: einem Collector, einem Storage und einem Visualizer. Beliebte Node.js-Protokollierungsmodule wie Winston und Pino fungieren ausschließlich als Protokollsammler. Errsole bietet jedoch eine vollständige Protokollierungslösung, die Folgendes umfasst:
Protokollspeicherung:Speichern Sie Protokolle in einer Datei oder der Datenbank Ihrer Anwendung.
Integriertes Dashboard: Protokolle mithilfe des integrierten Dashboards anzeigen, filtern und durchsuchen.
Benachrichtigungen: Erhalten Sie Echtzeitbenachrichtigungen für kritische Fehler.
Um Errsole verwenden zu können, müssen Sie das Errsole-Modul zusammen mit einem Speichermodul basierend auf der von Ihnen gewählten Datenbank installieren. Hier sind die Installationsschritte für verschiedene Speicheroptionen:
npm install errsole errsole-sqlite
npm install errsole errsole-mongodb
npm install errsole errsole-mysql
npm install errsole errsole-postgres
In einem echten Node.js-Projekt verfügen Sie über mehrere Dateien. Um den Errsole Logger in jeder Datei Ihres Projekts zu verwenden, erstellen Sie eine logger.js-Datei und initialisieren Sie Errsole darin:
const errsole = require('errsole'); const ErrsoleSQLite = require('errsole-sqlite'); errsole.initialize({ storage: new ErrsoleSQLite('/tmp/logs.sqlite') }); module.exports = errsole;
Jetzt können Sie die Datei logger.js in jede Datei in Ihrem Projekt importieren und zum Protokollieren verwenden:
const logger = require('./logger'); // Example usage logger.info('This is an informational message.'); logger.error('This is an error message.');
Errsole Logger-Funktionen verwenden dieselben Argumente wie console.log. Sie können eine oder mehrere durch Komma getrennte Zeichenfolgen, Objekte oder Variablen angeben. Darüber hinaus können Sie mithilfe der Metafunktion Metadaten an Ihre Protokollnachrichten anhängen. Bei diesen Metadaten kann es sich um beliebige Kontextinformationen handeln, beispielsweise um HTTP-Anfragen oder Ergebnisse von Datenbankabfragen.
logger.meta({ reqBody: req.body, queryResults: results }).error(err); logger.meta({ email: req.body.email }).log('User logged in');
Errsole Logger bietet Funktionen für fünf Protokollebenen: Warnung, Fehler, Warnung, Info und Debug.
Protokoll/Info: Zum Protokollieren von Nachrichten oder Informationen.
logger.log('Logging a message'); logger.log('Multiple', 'arguments', 'are supported'); logger.log('Logging with a variable:', var1); logger.log(new Error('An error occurred')); logger.log('Logging with an error object:', errorObject);
Benachrichtigung: Protokolliert eine Nachricht und sendet eine Benachrichtigung an konfigurierte Kanäle wie E-Mail oder Slack.
logger.alert('Alert! Something critical happened');
Fehler: Speziell zum Protokollieren von Fehlern entwickelt.
logger.error(new Error('An error occurred'));
warn: Protokolliert Warnmeldungen.
logger.warn('This is a warning message');
Debug: Protokolliert Debug-Informationen, die normalerweise zur Fehlerbehebung während der Entwicklung verwendet werden.
logger.debug('Debugging information');
Immer wenn Ihre Node.js-Anwendung abstürzt, sendet Errsole eine Echtzeitbenachrichtigung an Ihr Entwicklungsteam. Diese Benachrichtigung enthält die Fehlermeldung, den App-Namen, den Umgebungsnamen und den Servernamen.
Um kritische Fehler zu dieser Benachrichtigungsliste hinzuzufügen, verwenden Sie logger.alert in Ihrem Code. Vermeiden Sie jedoch eine Überbeanspruchung, um zu verhindern, dass Ihre Entwickler mit Benachrichtigungen überschwemmt werden. Verwenden Sie es bei kritischen Fehlern wie Zahlungsfehlern oder Fehlern bei Datenbankabfragen. Fügen Sie das Fehlerobjekt in die Alarmfunktion ein und fügen Sie alle Kontextinformationen in die Metafunktion ein. Dies ermöglicht Entwicklern das einfache Debuggen kritischer Fehler.
logger.meta({ reqBody: req.body, queryResults: results }).alert(err);
Die Integration einer vollständigen Protokollierungslösung in Ihre Node.js-Anwendung gewährleistet eine robuste Protokollverwaltung und effizientes Debuggen. Errsole bietet Protokollspeicher, ein integriertes Dashboard und Echtzeitbenachrichtigungen und ist damit ein umfassendes Protokollierungstool.
Um mit Errsole zu beginnen, besuchen Sie https://github.com/errsole/errsole.js.
Das obige ist der detaillierte Inhalt vonErstellen eines benutzerdefinierten Loggers für eine Node.js-Anwendung mit Errsole. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!