1.0.1 • Published 5 years ago

@itemsjs/logger v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
5 years ago

ItemsJS logger

Wrapper for logging services

NPM version NPM downloads

Installation

npm i @itemsjs/logger --save

Usage

const WinstonLogger = require('@itemsjs/logger').Winston;

// transport options in each section exactly is passed to transport constructor
// Factory is a promise so you can use it as a promise too.

const logger = await WinstonLogger.create({
    console: {

        enabled: !env.isProd,
        transportOptions: {
            level: 'debug',
            handleExceptions: true,

            stderrLevels: ['error'],
            consoleWarnLevels: ['error', 'warn']
        }
    },

    file: {

        enabled: true,
        transportOptions: {
            level: 'info',
            handleExceptions: true,

            frequency: '24h',
            datePattern: 'YYYY-MM-DD',
            filename: `${helpers.appName}_%DATE%.log`,
            dirname: 'logs',
            maxSize: '10m',
            zippedArchive: env.isProd,
            maxFiles: '90d'
        }
    },

    syslog: {

        enabled: env.isProd,
        transportOptions: {
            level: 'info',
            handleExceptions: true,
            protocol: 'udp4',

            app_name: `${helpers.appName}`,
            localhost: os.hostname()
        }
    }
});

// start logging

logger.info('Any message you want to log', metadata);

And you're good to go!

License

MIT