Logging configureren
U hoeft geen logbron aan te maken om logs te versturen vanuit de AppSignal for Node.js-integratie. Er wordt automatisch een “application”-logbron aangemaakt.Zelfstandig gebruik
Om de logger te gebruiken, moet u AppSignal importeren en de logger instellen met de functie.logger().
De functie .logger() accepteert twee argumenten: group en optioneel severityThreshold. Als severityThreshold niet wordt opgegeven, is de standaardwaarde info.
trace, debug, info, log, warn en error, elk met zijn eigen functie met dezelfde naam. Deze functies accepteren twee argumenten: message en attributes. Attributes wordt gebruikt voor metadata en is optioneel.
Berichten worden alleen gelogd als hun severity-niveau boven de severity-drempel ligt.
Meerdere logging-backends gebruiken
Het is momenteel niet mogelijk om logs naar meerdere backends te sturen met de standaard logger van Node.js. Voor complexere opstellingen raden wij u aan een logging-bibliotheek zoals Winston of Pino te gebruiken.Gebruik met Winston
Als u Winston gebruikt om berichten in uw applicatie te loggen, kunt u onze Winston-transport gebruiken om die logs naar AppSignal te sturen. Nadat u de transport vanuit de AppSignal-integratie hebt geïmporteerd, voegt u deze toe aan de lijst met transports in uw Winston-logger:Child Logger
U kunt een child logger gebruiken om aanvullende tags aan logberichten toe te voegen. U definieert tags bij het aanmaken van de child logger-constante of geeft tags als metadata door bij het schrijven van een logbericht. Stel dat wij meer context willen in onze logs van de acties van een bepaalde gebruiker binnen een specifieke sessie. In het onderstaande voorbeeld wordt een child logger voor debackground-groep gebruikt om sessionID toe te voegen met de aanvullende tags drinkID en paymentID die als metadata worden verstrekt bij het aanmaken van een logbericht, en als een groep aan de child wordt meegegeven, overschrijft die de groep die in de transport is ingesteld.
Meerdere logging-backends gebruiken
Om logs naar zowel de logger van AppSignal als naarSTDOUT te sturen, voegt u nog een transport toe:
Gebruik met Pino
Als Pino uw voorkeur logging-bibliotheek is, kunt u de AppSignal Pino-transport gebruiken om logs naar AppSignal te sturen. Het group-argument is standaard “app” als het niet wordt opgegeven.Meerdere logging-backends gebruiken
Om logs naar zowel de logger van AppSignal als naarSTDOUT te sturen, voegt u nog een target toe:
Formaten
Automatisch gedetecteerd formaat
Het AppSignal for Node.js-pakket detecteert het formaat van de logregel standaard automatisch als JSON, Logfmt of plaintext en parseert er attributen uit. U hoeft het logformaat niet handmatig in te stellen, tenzij het niet correct wordt gedetecteerd. Laat het ons ook weten als dit niet automatisch werkt.Logfmt
De AppSignal Logger kan expliciet worden geconfigureerd om te verwachten dat de regel in Logfmt-formaat is en hier attributen uit te parsen. Gebruik deze optie wanneer u een oudere versie van het AppSignal for Node.js-pakket gebruikt die geen automatische formaatdetectie ondersteunt. Het logformaat kan worden opgegeven bij het aanmaken van een logger. Geef bij het initialiseren van de AppSignal-logger de waarde"logfmt" als derde argument door.
JSON
De AppSignal Logger kan expliciet worden geconfigureerd om te verwachten dat de regel in JSON-formaat is en hier attributen uit te parsen. Gebruik deze optie wanneer u een oudere versie van het AppSignal for Node.js-pakket gebruikt die geen automatische formaatdetectie ondersteunt. Het logformaat kan worden opgegeven bij het aanmaken van een logger. Geef bij het initialiseren van de AppSignal-logger de waarde"json" als derde argument door.
Logs filteren
U kunt de configuratieoptieignoreLogs gebruiken om logregels op basis van hun bericht te negeren. Zie onze gids Logs negeren voor meer informatie.