A Bunyan stream to send events to Seq. Tested with Node.js versions 4.2.2 and up.
Warning
This package is deprecated due to inactivity in the upstream Bunyan project, and no further updates are planned at this time.
First, install bunyan-seq
as a global tool:
npm install -g bunyan-seq
Then, pipe the output of your bunyan-enabled app to it:
node your-app.js | bunyan-seq --serverUrl http://localhost:5341 --apiKey 1234567890 --property application=ExampleApp
bunyan-seq
accepts the following parameters:
serverUrl
- this is the base URL of your Seq server; if omitted, the default value ofhttp://localhost:5341
will be usedapiKey
- your Seq API key, if one is required; the default does not send an API keylogOtherAs
- log other output (not formatted through bunyan) to seq at this loglevel. Useful to capture messages if the node process crashes or smilar.property
- add additional properties to all logs sent to Seq
You can specify property names as tokens in the log message to control how the event is rendered in Seq:
// Seq will render this as 'Hi, Alice!'
log.info({ user: 'Alice' }, 'Hi, {user}!');
The full message template syntax is documented here.
To enable capture of output not formatted through bunyan use the logOtherAs
parameter. It's possible to use different settings for STDOUT
/STDERR
like this, when using bash:
node your-app.js `
2> >(bunyan-seq --logOtherAs Error --serverUrl http://localhost:5341 --apiKey 1234567890) `
> >(bunyan-seq --logOtherAs Information --serverUrl http://localhost:5341 --apiKey 1234567890)
Use the createStream()
method to create a Bunyan stream configuration, passing serverUrl
, apiKey
and batching parameters.
let bunyan = require('bunyan');
let seq = require('bunyan-seq');
var log = bunyan.createLogger({
name: 'myapp',
streams: [
{
stream: process.stdout,
level: 'warn'
},
seq.createStream({
serverUrl: 'http://localhost:5341',
level: 'info',
reemitErrorEvents: true,
onError: (e) => {
console.error('[SeqStreamCustomError] failed to log events:', e);
}
})
]
});
log.info('hi');
log.warn({ lang: 'fr' }, 'au revoir');
Read the complete documentation.