Write logs in nodejs.
npm install --save @pimred/logger
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')
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 |
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 |
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 |