5.0.0 • Published 6 months ago

@neo9/n9-node-log v5.0.0

Weekly downloads
172
License
GPL-3.0-or-later
Repository
github
Last release
6 months ago

n9-node-log

Logging node module based on Pino.

npm version Travis Coverage license

Requirements

  • NodeJS >= 10.0.0

Installation

npm install --save @neo9/n9-node-log

Usage

import n9Log from '@neo9/n9-node-log';

const log = n9Log('my-app-name');

// Write on stdout
log.trace('This is a trace message');
log.debug('This is a debug message');
log.info('This is an information message');
log.warn('Warning, this feature will be removed soon');
// Write on stderr
log.error('An error appened');
2017-05-12T15:57:14.474Z - info: [my-app-name] This is an information message
2017-05-12T15:57:14.689Z - warn: [my-app-name] Warning, this feature will be removed soon
2017-05-12T15:57:14.974Z - error: [my-app-name] An error appened

Metadata

log.info('Log with metadata', { anything: 'this is metadata' });
log.error('Here an error', new Error('hello'));
2017-05-12T15:57:14.474Z - info: [my-app-name] Log with metadata anything=this is metadata
2017-05-12T15:57:14.785Z - error: [node-ts-skeleton] Here an error Error: hello
     err: {
      "type": "Error",
      "message": "something-went-wrong",
      "stack":
          Error: something-went-wrong
              at /home/bdaniel/projects/neo9/n9-libs/n9-node-log/test/index.ts:110:29
    }

Prefixing

const logUsers = log.module('users');

logUsers.info('Log specific to users module');
2017-05-12T15:57:14.474Z - info: [my-app-name:users] Log specific to users module

Profiling

log.profile('test');
setTimeout(() => log.profile('test'), 1000);
2017-05-12T15:57:14.474Z - info: [my-app-name] test {"durationMs":1000}

Log level

You can filter the list of logs on startup with the N9LOG environment or with the level option.

Possible values:

  • trace: Display all logs
  • debug: Display debug + info + warn + error logs
  • info: Display info + warn + error logs
  • warn: Display warn + error logs
  • error: Display only error logs

Default value: info

Example: N9LOG=error node server.js will display only error logs.

For performance matter, you can check if you need to compute your log data :

if (log.isLevelEnabled('debug')) {
	log.debug('My debug log', { complexDataAsOneField: JSON.stringify(data) });
}

Breaking changes from V3 to V4

  • Log level verbose renamed to log level trace
  • JSON Format is enabled by default, it wasn't before
  • Remove transports features
  • Filters function change their signatures
5.0.0

6 months ago

5.0.0-rc.0

7 months ago

5.0.0-rc.1

7 months ago

5.0.0-rc.2

7 months ago

5.0.0-rc.3

7 months ago

5.0.0-rc.4

7 months ago

5.0.0-rc.5

7 months ago

5.0.0-rc.6

7 months ago

5.0.0-rc.7

7 months ago

4.1.0

1 year ago

4.0.1

2 years ago

3.2.1

2 years ago

4.0.0-rc.1

2 years ago

4.0.0-rc.0

2 years ago

4.0.0-rc.3

2 years ago

4.0.0-rc.2

2 years ago

4.0.0

2 years ago

3.2.0

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.0.0

4 years ago

3.0.0-rc.4

4 years ago

3.0.0-rc.3

4 years ago

3.0.0-rc.2

4 years ago

3.0.0-rc.1

4 years ago

3.0.1-0

4 years ago

3.0.0-rc.0

4 years ago

2.6.0

6 years ago

2.5.2

6 years ago

2.5.1

6 years ago

2.5.0

6 years ago

2.4.0

7 years ago

2.3.1

7 years ago

2.2.2

7 years ago