A stream to send Pino events to Seq. Tested with Node.js versions 4.2.2 and up.
First, install and use pino in your Node.js app, following the instructions in the Pino documentation.
This will look something like:
const logger = require('pino')();
logger.info('Hello, World!');Pino will, by default, write newline-delimited JSON events to STDOUT. These events are piped into the pino-seq transport.
First, install pino-seq as a global tool:
npm install -g pino-seqThen, pipe the output of your Pino-enabled app to it:
node your-app.js | pino-seq --serverUrl http://localhost:5341 --apiKey 1234567890 --property applicationName=PinoSeqExampleApppino-seq accepts the following parameters:
serverUrl- this is the base URL of your Seq server; if omitted, the default value ofhttp://localhost:5341will be usedapiKey- your Seq API key, if one is required; the default does not send an API keylogOtherAs- log other output (not formatted through pino) 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
To enable capture of output not formatted through pino use the logOtherAs parameter. It's possible to use different settings for STDOUT/STDERR like this, when using bash:
node your-app.js 2> >(pino-seq --logOtherAs Error --serverUrl http://localhost:5341 --apiKey 1234567890) > >(pino-seq --logOtherAs Information --serverUrl http://localhost:5341 --apiKey 1234567890)Use the createStream() method to create a Pino stream configuration, passing serverUrl, apiKey and batching parameters.
let pino = require('pino');
let pinoToSeq = require('pino-seq');
let stream = pinoToSeq.createStream({ serverUrl: 'http://localhost:5341' });
let logger = pino({ name: 'pino-seq example' }, stream);
logger.info('Hello Seq, from Pino');
let frLogger = logger.child({ lang: 'fr' });
frLogger.warn('au reviour');Originally by Simi Hartstein and published as simihartstein/pino-seq; maintainership transferred to Datalust at version 0.5.