1.0.1 • Published 5 years ago

@runs/logger v1.0.1

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

Build Status

@runs/Logger:

runs-logger is a node logger built on top of Winston logger. The purpose of this package is to add extra features to Winston's default logging, and allow both high customizability, and ease of use.

Installation:

  • npm install @runs/logger
  • yarn add @runs/logger

Usage:

Import/require:

// node:
const Logger = require('@runs/logger');

// ES6 & Typescript
import Logger from '@runs/logger';

Note for TypeScript: This module was written in TypeScript, no need to install @types package.

1. Create new instance:

const logger = new Logger({ /* winston.LoggerOptions */ });

Logger constructor takes 1 argument of type winston.LoggerOptions, interface shown below:

interface LoggerOptions {
  levels?: Config.AbstractConfigSetLevels;
  silent?: boolean;
  format?: logform.Format;
  level?: string;
  exitOnError?: Function | boolean;
  defaultMeta?: any;
  transports?: Transport[] | Transport;
  exceptionHandlers?: any;
}

For more details about nested types, please refer to Winston Types and for usage of these items, please refer to Winston Docs.

2. Start logging:

Example:

logger.log({
    level: 'info', // can be one of: info, warn, error, verbose, debug, or silly
    message: 'Starting server...', // log message
    details: { // optional extra data to include with your log
      port: '3000',
      status: 'ok',
    },
  });
});

That's it.

Behavior:

By default (as of release 1.0.0) logger will log to: 1. The console during development (NODE_ENV=development). 2. File named after your app name in your package.json's name attribute, file is called {NAME}-%DATE%.log in logs dir in the root of your app, it'll rotate the file when either the file reaches 20MB, or is 14 days old.