winston-preformatted-logger
v1.1.0
Published
WinstonJS based logger
Downloads
1
Readme
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. |