slf
TypeScript icon, indicating that this package has built-in type declarations

2.0.3 • Public • Published

slf

Surikat Log Facade

Install

npm install --save slf

API

Get a logger

import { LoggerFactory } from 'slf';

const log = LoggerFactory.getLogger('name');

const log = LoggerFactory.getLogger('name:subname:subsubname');

Logging

log('Hello!'); // As level info
log.log('info', 'Hello!'); // as level info
log.log('Hello!'); // as level info (implicit)

log.trace('My Trace');
log.debug('My Debug');
log.info('My Info');
log.warn('My Warning');
log.error('My Error');
log.critical('My Critical Error');

Formatting

Using util.format(...)

  • %s - String.
  • %d - Number (both integer and float).
  • %j - JSON. Replaced with the string '[Circular]' if the argument contains circular references.
  • %% - single percent sign ('%'). This does not consume an argument.
log.info('My Formatted %s', 'Message')
>> 'My Formatted Message'
log.info('My Formatted %d', 123)
>> 'My Formatted 123'
log.info('My Formatted %d', 123)
>> 'My Formatted 123'

Json Formatting

log.info({ a: 'aloha' })
>> { a: 'aloha' }
log.info('My Formatted %d', 123)
>> 'My Formatted 123'
log.info('My Formatted %d', 123)
>> 'My Formatted 123'

Configuring a Provider

LoggerFactory.setFactory(<factory-function>);
LoggerFacotry.setFactory(ConsoleLogger);

Log Levels

When setting a factory provider, you can also set a level to ensure not to send logs if the level is too low.

Set Level

LoggerFacotry.setFactory(ConsoleLogger, Level.Info);

Hierarchy

  • Critical
  • Error
  • Warn
  • Info
  • Debug

Writing a Provider

SLF is nothing without a backing logging implementation. The most tiny implementation of a console.log based implementation is shipped with SLF

API

factory-function has the following signature:

function(loggerName) {
  return function(event) {
    //do something with logEvent
  }
}
event = {
  timeStamp: 123456767,
  params: [],
  name: 'logger:name'
  level: 'error'
}

Readme

Keywords

Package Sidebar

Install

npm i slf

Weekly Downloads

2,374

Version

2.0.3

License

MIT

Unpacked Size

20.8 kB

Total Files

13

Last publish

Collaborators

  • surikat