@pimred/logger
v0.6.2
Published
Write logs in nodejs.
Downloads
66
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 |
