Logging konfigurieren
Sie müssen keine Log-Quelle erstellen, um Logs aus der AppSignal for Node.js-Integration zu senden. Eine “application”-Log-Quelle wird automatisch erstellt.Eigenständige Verwendung
Um den Logger zu verwenden, müssen Sie AppSignal importieren und den Logger über die Funktion.logger() einrichten.
Die Funktion .logger() akzeptiert zwei Argumente: group und optional severityThreshold. Wenn severityThreshold nicht angegeben wird, ist der Standardwert info.
trace, debug, info, log, warn und error, jede mit einer eigenen Funktion gleichen Namens. Diese Funktionen akzeptieren zwei Argumente: message und attributes. attributes wird für Metadaten verwendet und ist optional.
Nachrichten werden nur dann geloggt, wenn ihre Severity-Stufe über dem Severity-Schwellenwert liegt.
Mehrere Logging-Backends verwenden
Derzeit ist es nicht möglich, mit dem Standard-Logger von Node.js Logs an mehrere Backends zu senden. Für komplexere Setups empfehlen wir die Verwendung einer Logging-Bibliothek wie Winston oder Pino.Verwendung mit Winston
Wenn Sie Winston zum Loggen von Nachrichten in Ihrer gesamten Anwendung verwenden, können Sie unseren Winston-Transport verwenden, um diese Logs an AppSignal zu senden. Nachdem Sie den Transport aus der AppSignal-Integration importiert haben, fügen Sie ihn der Transportliste Ihres Winston-Loggers hinzu:Child Logger
Sie können einen Child Logger verwenden, um zusätzliche Tags zu Log-Nachrichten hinzuzufügen. Sie definieren Tags beim Erstellen der Child-Logger-Konstante oder übergeben Tags als Metadaten beim Schreiben einer Log-Nachricht. Angenommen, wir möchten mehr Kontext zu den Aktionen eines bestimmten Benutzers innerhalb einer bestimmten Sitzung in unseren Logs erhalten. Im folgenden Beispiel wird ein Child Logger für die Gruppebackground verwendet, um sessionID hinzuzufügen. Die zusätzlichen Tags drinkID und paymentID werden beim Erstellen einer Log-Nachricht als Metadaten bereitgestellt, und wenn dem Child eine Gruppe übergeben wird, überschreibt sie die im Transport festgelegte.
Mehrere Logging-Backends verwenden
Um Logs sowohl an den AppSignal-Logger als auch anSTDOUT zu senden, fügen Sie einen weiteren Transport hinzu:
Verwendung mit Pino
Wenn Pino Ihre bevorzugte Logging-Bibliothek ist, können Sie den AppSignal Pino-Transport verwenden, um Logs an AppSignal zu senden. Das Argument group wird auf “app” voreingestellt, wenn es nicht angegeben wird.Mehrere Logging-Backends verwenden
Um Logs sowohl an den AppSignal-Logger als auch anSTDOUT zu senden, fügen Sie ein weiteres Target hinzu:
Formate
Automatisch erkanntes Format
Das AppSignal for Node.js-Paket erkennt das Format der Log-Zeile standardmäßig automatisch als JSON, Logfmt oder Plaintext und parst die Attribute daraus. Sie müssen das Log-Format nicht manuell einstellen, es sei denn, es wird nicht ordnungsgemäß erkannt. Bitte benachrichtigen Sie uns auch, wenn dies nicht automatisch funktioniert.Logfmt
Der AppSignal Logger kann explizit so konfiguriert werden, dass er erwartet, dass die Zeile als Logfmt formatiert ist, und Attribute daraus parst. Verwenden Sie diese Option, wenn Sie eine ältere Version des AppSignal for Node.js-Pakets verwenden, die keine automatische Formaterkennung unterstützt. Das Log-Format kann beim Erstellen eines Loggers angegeben werden. Übergeben Sie beim Initialisieren des AppSignal-Loggers den Wert"logfmt" als drittes Argument.
JSON
Der AppSignal Logger kann explizit so konfiguriert werden, dass er erwartet, dass die Zeile als JSON formatiert ist, und Attribute daraus parst. Verwenden Sie diese Option, wenn Sie eine ältere Version des AppSignal for Node.js-Pakets verwenden, die keine automatische Formaterkennung unterstützt. Das Log-Format kann beim Erstellen eines Loggers angegeben werden. Übergeben Sie beim Initialisieren des AppSignal-Loggers den Wert"json" als drittes Argument.
Logs filtern
Sie können die KonfigurationsoptionignoreLogs verwenden, um Log-Zeilen anhand ihrer Nachricht zu ignorieren. Lesen Sie unseren Leitfaden zum Ignorieren von Logs, um mehr zu erfahren.