Logger for NodeJS
This utility library implements our standard Bunyan + Sentry configuration
Requirements
Minimum Node.js version: 4
Installation
npm install --save chpr-logger
Configuration
Key | Required | Description |
---|---|---|
LOGGER_NAME |
yes | Sets the name of the logger. |
LOGGER_LEVEL |
yes | Set the minimum level of logs. |
SENTRY_DSN |
no | Sets the Sentry stream. (bunyan-sentry-stream) |
SENTRY_ENVIRONMENT |
no | Sets the Sentry Environment. |
USE_BUNYAN_PRETTY_STREAM |
no | Outputs the logs on stdout with the pretty formatting from Bunyan. Must be set to true to be active. (bunyan-prettystream) |
LOGGER_USE_SENSITIVE_DATA_STREAM |
no | Use the sensitive data stream to remove any possible sensitive data from the logs (enabled by default, false to use the process.stdout stream). |
LOGGER_SENSITIVE_DATA_PATTERN |
no | Pattern fragments to match sensitive keys (default is (mdp|password|authorization|token|pwd|auth) ). |
Use
'use strict'; const logger = ; /* The signature is logger[level](context, message) where:- context is an object containing all info to be logged- context may be passed an `err` property that is an error and will be used by sentry to regroup errors and capture proper stacktraces- message is just a string explaining what the log is As in bunyan, context is optional and logger[level](message) can also work.*/ // Log a fatal error message:logger; // Log an error message:logger; // Log a warning message:logger; // Log an informational message:logger; // Log a debug message:logger; // Log a trace message:logger;
Sensitive Data
chpr-logger
can filter sensitive data based on specific keys and replace the
values by __SENSITIVE_DATA__
string. This feature is enabled by default but
you can skip this (not recommanded) by setting the environment variable
LOGGER_USE_SENSITIVE_DATA_STREAM
to false
.
In addition, you can update the pattern on which to make the match with the
environment variable LOGGER_SENSITIVE_DATA_PATTERN
. Its value must represent
a valid capturing regular expression.