@pimred/logger
v0.6.2
Published
Write logs in nodejs.
Downloads
103
Readme
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 directoriesDefault: _logs
|
|options.filename||Format of the filenameAvailable 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
|