@runs/logger
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

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.

Package Sidebar

Install

npm i @runs/logger

Weekly Downloads

5

Version

1.0.1

License

MIT

Unpacked Size

30 kB

Total Files

13

Last publish

Collaborators

  • imagdy