@pimred/logger

0.6.2 • Public • Published

Logger

Write logs in nodejs.

Installation

npm install --save @pimred/logger

File logging

Usage

const logger = require('@pimred/logger')('my-logs')
logger.info('Hello logger')

With options

const logger = require('@pimred/logger')('my-logs', { directory: 'different-location', filename: 'my-logs.log'})
logger.info('Hello logger')

API documentation

The module exports a function that can be invoked immediately.
The directory will be created if it's not existing.

Options

Name Required Description
name x Name of the directory where the logfiles will be stored
options Optional options
options.directory Location of the log directories
Default: _logs
options.filename Format of the filename
Available placeholders: {{YEAR}}, {{MONTH}}, {{DAY}}
Default: log_{{YEAR}}_{{MONTH}}_{{DAY}}.txt

Default options

It's possible to define default options in the process.env scope.

Name Mapped to
process.env.PIMRED_LOGGER_DIRECTORY options.directory
process.env.PIMRED_LOGGER_FILENAME options.filename

Logging to Elasticsearch

Usage

const logger = require('@pimred/logger/dist/elastic')()
logger.info('This message will be stored in Elasticsearch')
logger.warn({ myKey: 'myValue' }, 'This message will include an additional key')

With options

const logger = require('@pimred/logger/dist/elastic')({ indexName: 'my-index-name' })

Options

Name Required Description
indexName x Name of the index in elastic
elasticNode Connection string to the elastic node
elasticVersion Major Elasticsearch version, e.g. 7
elasticUsername Authentication credentials: username
elasticPassword Authentication credentials: password

Default options

It's possible to define default options in the process.env scope.

Name Mapped to
process.env.PIMRED_LOGGER_ELASTIC_INDEX_NAME options.indexName
process.env.PIMRED_LOGGER_ELASTIC_NODE options.elasticNode
process.env.PIMRED_LOGGER_ELASTIC_VERSION options.elasticVersion
process.env.PIMRED_LOGGER_ELASTIC_USERNAME options.elasticUsername
process.env.PIMRED_LOGGER_ELASTIC_PASSWORD options.elasticPassword

Logging to Loki

Usage

const logger = require('@pimred/logger/dist/loki')()
logger.info('This message will be stored in Loki - grafana')
logger.warn({ myKey: 'myValue' }, 'This message will include an additional key')

With options

const logger = require('@pimred/logger/dist/loki')({
  labels: {
    job: 'my-job-name'
  },
  propsToLabels: ['myKey'],
  lokiUrl: 'http://loki-ip-address:port'
})

Options

Name Required Description
lokiUrl x Loki url used to push logs
labels Object with labels will be passed to loki - grafana
propsToLabels Array of strings which is going to be used to create labels from message

Default options

It's possible to define default options in the process.env scope.

Name Mapped to
process.env.PIMRED_LOGGER_LOKI_URL options.lokiUrl
process.env.PIMRED_LOGGER_LOKI_USERNAME options.username
process.env.PIMRED_LOGGER_LOKI_PASSWORD options.password

Readme

Keywords

Package Sidebar

Install

npm i @pimred/logger

Weekly Downloads

49

Version

0.6.2

License

ISC

Unpacked Size

10.8 kB

Total Files

6

Last publish

Collaborators

  • pimred