0.3.0 • Published 3 years ago

@blastz/nico-logger v0.3.0

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

Nico Logger

Node.js logger based on winston.

Install

$ npm install @blastz/nico-logger

Logging levels

The logger support six loggin levels

const levels = {
  fatal: 0,
  error: 1,
  warn: 2,
  info: 3,
  debug: 4,
  trace: 5,
};

Consle transport

Set consoleLevel to enable console transport

import { NicoLogger, LoggerLevel } from "@blastz/nico-logger";

const logger = new NicoLogger({
  consoleLevel: LoggerLevel.Debug,
}).getLogger();

logger.debug("test");

Console transport will output logs with such format

2021-05-14T06:30:02.421Z  INFO
{
  message: 'test',
  hostname: 'OMEN',
  pid: 32684
}

File transport

Set fileLevel to enable file transport

import { NicoLogger, LoggerLevel } from "@blastz/nico-logger";

const logger = new NicoLogger({
  fileLevel: LoggerLevel.Trace,
}).getLogger();

logger.debug("test");

File transport will log with json format

{"message":"trace","level":"trace","hostname":"OMEN","pid":762,"timestamp":"2021-05-14T06:51:59.894Z"}

Set { disableJsonFormat: true } to keep raw logger output.

All options in winston-daily-rotate-file are supported by fileLevel options.

Multiple file transport

Set multiple levels file logging is supported.

import { NicoLogger, LoggerLevel } from "@blastz/nico-logger";

const logger = new NicoLogger({
  fileLevel: [LoggerLevel.Trace, LoggerLevel.Error],
}).getLogger();

logger.debug("test");

It will create two folds error and trace

  • log
    • error
    • trace

The error fold will only include loggin files that logging level is above error.

License

Licensed under MIT