1.1.0 • Published 5 years ago

winston-preformatted-logger v1.1.0

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

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)

ParamTypeDefaultDescription
moduleObjectAdd the current module to determine the root info
settingsObjectDestination of the generated log files.
settings.logFolderstring"./logs"Destination of the generated log files.
settings.logLevelstring"info"The log level.
settings.logFilenamestring"%DATE%"The log file's name.
settings.logFileDatePatternstring"YYYY-DD-MM"The date pattern inside the log file's name.
settings.colorsObjectColors of the log levels (Uppercase).
logOptionsObjectSets the 'from' options in the log line.
logOptions.fromstringSets the 'from' options in the log line.
logOptions.labelstringSets the 'label' options in the log line.
logOptions.metaObjectInclude default metadata to the log line.