1.1.0 • Published 5 years ago
winston-preformatted-logger v1.1.0
Winston pre-formatted logger
Install
npm install winston-preformatted-logger
yarn add winston-preformatted-logger
Usage
How to initialise the module
In your project, first declare the module
const Logger = require('winston-preformatted-logger');
Next, create a new instance
// Example
//Optional - defaults
const logOptions = {
logFolder: './logs',
logLevel: 'info',
logFilename: '%DATE%'
// ONLY ANSI colors!
colors: {
INFO: "\u001B[0m",
DEBUG: "\u001B[37m",
WARN: "\u001B[33m",
ERROR: "\u001B[31m"
}
}
const log = new Logger(logOptions).logger;
Using the module
Possible log levels are:
- info
- debug
- warn
- stack //Use this instead of error!
A typical log line will look something like this:
log.info("info message");
2018-05-11 12:49:09.641 [INFO]: info message
However, it is possible to include 'from', 'label', and 'metadata' (All optional). The log line format is constructed as
DATE TIME [LEVEL][FROM]: [LABEL] - info message
{
extra: "information"
}
To fully use all options a basic info log line would look like this:
log.info("info message", {from: "readMe.md", label:"example", meta: {author: {firstName: "Max", lastName: "van de Laar"}}});
2018-05-11 13:23:09.044 [INFO][readMe.md]: example - info message
{
"author": {
"firstName": "Max",
"lastName": "van de Laar"
}
}
#Documentation
Logger
Kind: global class
new Logger(module, settings, logOptions)
Param | Type | Default | Description |
---|---|---|---|
module | Object | Add the current module to determine the root info | |
settings | Object | Destination of the generated log files. | |
settings.logFolder | string | "./logs" | Destination of the generated log files. |
settings.logLevel | string | "info" | The log level. |
settings.logFilename | string | "%DATE%" | The log file's name. |
settings.logFileDatePattern | string | "YYYY-DD-MM" | The date pattern inside the log file's name. |
settings.colors | Object | Colors of the log levels (Uppercase). | |
logOptions | Object | Sets the 'from' options in the log line. | |
logOptions.from | string | Sets the 'from' options in the log line. | |
logOptions.label | string | Sets the 'label' options in the log line. | |
logOptions.meta | Object | Include default metadata to the log line. |