Skip to content
Snippets Groups Projects

@libs/log

A real simple logger application. May Optional Log to A File and a loki-server via http or udp.

Graylog is no longer supported

Installation

  • npm install --save @libs/log

Usage

const Log = require('@libs/log')
let log = new Log(options)

Note: The options Part may be omitted, as all parts are optional, but using the name is recommended, as without it, the package-name will be used

Methods

  • log.info('This is an Information' )
  • log.notice('This is a Notice' )
  • log.warn('This is a Warning' )
  • log.error('This is an Error' )
  • log.fatal('This is a Fatal Message' )
  • log.debug('This is a Debug Message' )

You may also add any number of any parameter. The objects will be concatenated using your custom delimeter and stringified.

e.g.:

log.info('this', ['array', 8], 4, {type:'test'})

will logged as (with default format)

YYYY-MM-DDTHH:ii:ss SERVER INFO this ["array",8] 4 {"type": "test"}

Formatting

You can edit the output using the format-Option.

Possible Setting:

  • {timestamp}: Display the timestamp in ISO format
  • {hostname}: Display the hostname
  • {name}: Display the Application name
  • {loglevel}: Display the Loglevel
  • {message}: Display the Message

Options

Graylog is no longer supported

{
  "name": "Name of App. Default: Name of BaseFolder",
  "hostname": "Server Hostname, Default: os.hostname()",
  "file": "'File to Append Log to",
  "path": "Path Logfile located",
  "loglevel": "Minimal LogLevel. Default: WARN",
  "delimeter": "How to join multiple outputs. Default: (a single space)",
  "format": "Format the output. Default: {timestamp}\\t{hostname}\\t{loglevel}\\t{message}",
  "loki": {
    "active": "true or false",
    "server":"loki-server"
  }
}

Examples

Check the Examples to get a Feeling about the possibilities.