Heim  >  Artikel  >  Web-Frontend  >  Erstellen eines benutzerdefinierten Loggers für eine Node.js-Anwendung mit Errsole

Erstellen eines benutzerdefinierten Loggers für eine Node.js-Anwendung mit Errsole

WBOY
WBOYOriginal
2024-08-24 11:11:33578Durchsuche

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:

  1. Protokollspeicherung:Speichern Sie Protokolle in einer Datei oder der Datenbank Ihrer Anwendung.

  2. Integriertes Dashboard: Protokolle mithilfe des integrierten Dashboards anzeigen, filtern und durchsuchen.

  3. Benachrichtigungen: Erhalten Sie Echtzeitbenachrichtigungen für kritische Fehler.

Errsole und seine Abhängigkeiten installieren

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:

Dateispeicherung:

npm install errsole errsole-sqlite

MongoDB:

npm install errsole errsole-mongodb

MySQL:

npm install errsole errsole-mysql

PostgreSQL:

npm install errsole errsole-postgres

Erstellen einer benutzerdefinierten Logger-Datei

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.');

Grundlegendes zu Protokollebenen in Errsole

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');

Wann Sie logger.alert in Ihrem Code verwenden sollten

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.

Creating a Custom Logger for a Node.js Application using Errsole

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);

Abschluss

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn