Heim > Web-Frontend > js-Tutorial > Hauptteil

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

WBOY
Freigeben: 2024-08-24 11:11:33
Original
573 Leute haben es durchsucht

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
Nach dem Login kopieren

MongoDB:

npm install errsole errsole-mongodb
Nach dem Login kopieren

MySQL:

npm install errsole errsole-mysql
Nach dem Login kopieren

PostgreSQL:

npm install errsole errsole-postgres
Nach dem Login kopieren

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;
Nach dem Login kopieren

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.');
Nach dem Login kopieren

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');
Nach dem Login kopieren

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);
Nach dem Login kopieren

Benachrichtigung: Protokolliert eine Nachricht und sendet eine Benachrichtigung an konfigurierte Kanäle wie E-Mail oder Slack.

logger.alert('Alert! Something critical happened');
Nach dem Login kopieren

Fehler: Speziell zum Protokollieren von Fehlern entwickelt.

logger.error(new Error('An error occurred'));
Nach dem Login kopieren

warn: Protokolliert Warnmeldungen.

logger.warn('This is a warning message');
Nach dem Login kopieren

Debug: Protokolliert Debug-Informationen, die normalerweise zur Fehlerbehebung während der Entwicklung verwendet werden.

logger.debug('Debugging information');
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!