Transport pino logs to LogDNA
npm install pino-logdna> Transport pino logs to LogDNA
- pino-logdna
- Install
- Usage
- Pino v7+ Transport
- Options
- Legacy Transport
- CLI Options
- Contributing
- Commit Format
- Contributors ✨
- License
``bash`
npm install --save pino-logdna
This module can be used as a [pino transport][]:
`javascript
const pino = require('pino')
const transport = pino.transport({
target: 'pino-logdna',
options: {
key // your LogDNA ingestion key
}
})
const log = pino(transport)
// Logs will now go to LogDNA
log.info('Happy Logging!')
`
#### Options
This transport uses [@logdna/logger][] under the hood, and most options are exposedpino-logdna
through .
For a full list, please see the [createLogger options][].
An additional option is supported by pino-logdna:
+ emptyMessage - When logging an object without a message,log.info({ some: 'data' })
e.g. , the value of this option will be used''
for the outgoing message. Default: .
Usage as a legacy transport is still supported. The minimal configuration requires only
your LogDNA ingestion key:
`bash`
npm install -g pino-logdna
node ./app.js | pino-logdna --key="YOUR INGESTION KEY"
CLI Options can be supplied to the command:
`bash`
node ./app.js | pino-logdna --key "YOUR INGESTION KEY" --env staging --tag foo --tag bar
#### CLI Options
Options for the CLI are the kebab-case equivalent of the [@logdna/logger][] options:
`bashpino
Options:
-v, --version Show version
-h, --help Show usage information
-m, --message-key [msg] The field in the used as the display line in LogDNA
-e, --empty-message [msg] String value to use when no "message" property if found
@logdna/logger Options:
--key REQUIRED Your ingestion key
-t, --tag Tag to be added to each message; can be supplied multiple times
-T, --timeout [30000] Millisecond timeout for each HTTP request
--app [default] Arbitrary app name for labeling each message
-E, --env An environment label attached to each message
-H, --hostname Hostname for each HTTP request
--mac MAC address for each HTTP request
--ip IPv4 or IPv6 address for each HTTP request
--url URL of the logging server
--flush-limit [5000000] Maximum total line lengths before a flush is forced
--flush-interval-ms [250] Mseconds to wait before sending the buffer
--base-backoff-ms [3000] Minimum exponential backoff time in milliseconds
--max-backoff-ms [30000] Maximum exponential backoff time in milliseconds
--index-meta [false] Controls whether meta data for each message is searchable
-p, --proxy The full URL of an http or https proxy to pass through
`
This project is open-sourced, and accepts PRs from the public for bugs or feature
enhancements. Please see CONTRIBUTING.md for more information.
The project uses [Commitlint][] and enforces [Conventional Commit Standard][]. Please format your commits based on these guidelines.
An issue must be opened in the repository for any bug, feature, or anything else that will have a PR.
The commit message must reference the issue with an acceptable action tag in the commit footer, e.g. Fixes: #5.
Thanks goes to these wonderful people (emoji key):
Maciej Ziehlke ⭐ | Mike Del Tito 💻 📖 💡 🔧 | James Sumners 💻 📖 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Copyright © LogDNA, released under an MIT license. See the LICENSE file and https://opensource.org/licenses/MIT
Happy Logging!
[pino transport]: https://getpino.io/#/docs/transports?id=v7-transports
[legacy transport]: https://getpino.io/#/docs/transports?id=legacy-transports
[@logdna/logger]: https://github.com/logdna/logger-node#apicreateLogger` options]: https://github.com/logdna/logger-node#createloggerkey-options
[
[Commitlint]: https://commitlint.js.org
[Conventional Commit Standard]: https://www.conventionalcommits.org/en/v1.0.0/