parseable-winston
v1.0.1
Published
Parseable Winston transport
Downloads
159
Readme
Parseable-Winston
Parseable transport plugin for the popular Winston logging framework.
Dependencies
Installation
npm install parseable-winston
yarn add parseable-winston
Usage
Package is cjs
and es6
compatible.
Logs are buffered in memory and flushed periodically for more efficient ingestion. By default a maxEntries
of 250, and flushInterval
of 5 seconds are used.
// Using cjs
const { ParseableTransport } = require('parseable-winston')
const winston = require('winston')
const parseable = new ParseableTransport({
url: process.env.PARSEABLE_LOGS_URL, // Ex: 'https://parsable.myserver.local/api/v1/logstream'
username: process.env.PARSEABLE_LOGS_USERNAME,
password: process.env.PARSEABLE_LOGS_PASSWORD,
logstream: process.env.PARSEABLE_LOGS_LOGSTREAM, // The logstream name
tags: { tag1: 'tagValue' } // optional tags to be added with each ingestion
})
const logger = winston.createLogger({
levels: winston.config.syslog.levels,
transports: [parseable],
defaultMeta: { instance: 'app', hostname: 'app1' }
})
logger.info('User took the goggles', { userid: 1, user: { name: 'Rainier Wolfcastle' } })
logger.warning('The goggles do nothing', { userid: 1 })
Tuning the default buffering options
const parseable = new ParseableTransport({
url: process.env.PARSEABLE_LOGS_URL,
username: process.env.PARSEABLE_LOGS_USERNAME,
password: process.env.PARSEABLE_LOGS_PASSWORD,
logstream: process.env.PARSEABLE_LOGS_LOGSTREAM,
buffer: { maxEntries: 100, flushInterval: 5000 }
})
Other optional parameters
disableTLSCerts
: Default to false. Set to true to ignore invalid certificatehttp2
: Default to true. Set to false to use HTTP/1.1 instead of HTTP/2.0onError
: Errors are sent to console.error by default. Set this to handle errors. Signature:error => {}
onClose
: Called on buffer and client close. Signature:() => {}
Credits
Inspired from TJ's Apex-Logs-Winston
LICENCE
MIT