
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@ngocketit/winston-graylog2
Advanced tools
A graylog2 transport for winston based on the node-graylog2 Library
Recently rewritten to use ES6 for better compatibility with Winston@3, so please use only with NodeJS >=6.4.0.
If you need to support older versions of Node, please use a version
compatible with ^winston-graylog2@1.1.0.
$ npm install winston
$ npm install winston-graylog2
var winston = require('winston');
var WinstonGraylog2 = require('winston-graylog2');
var options = { ...<your config options here>... };
winston.add(new WinstonGraylog2(options));
or
var winston
var WinstonGraylog2 = require('winston-graylog2');
var options = { ...<your config options here>... };
var logger = winston.createLogger({
exitOnError: false,
transports: [
new WinstonGraylog2(options),
],
});
Older versions of winston-graylog2 allowed the prelog and processMeta options for
pre-processing logs and metadata attached to messages (such as stack traces). Winston 3 has
implemented independent, custom formatters for handling these things, and they are no longer
supported at the transport level.
See the Winston docs for details on formatters.
example:
{
name: 'Graylog',
level: 'debug',
silent: false,
handleExceptions: false,
graylog: {
servers: [{host: 'localhost', port: 12201}, {host: 'remote.host', port: 12201}],
hostname: 'myServer',
facility: 'myAwesomeApp',
bufferSize: 1400
},
staticMeta: {env: 'staging'}
}
winston-graylog2Since winston@3.x relies heavily on a very powerful set of formatters there are a few formatting
actions that winston-graylog2 no longer needs to do. The two primary cases are the inclusion of
a meta object, and converting errors so that the stack trace is included in the log message
rather than just the name of the error.
winston@3.x includes an excellent formatter for dealing with meta, conveniently named
metadata. To use it, you can either grab it from the winston.format object, or use the one on
logform.format. See the metadata formatter docs
for more details.
For formatting Errors, winston@3.2.0 includes the errors formatter. To use it, you can either
grab it from the winston.format object, or use the one on logform.format. If you want to include
the stack trace in the log message, be sure to pass this formatter the { stack: true } option. See
the errrors formatter docs
for more details.
In order to get functionality identical to earlier versions of winston-graylog2, use both of
these formatters together.
var winston = require('winston');
var { format } = winston;
var WinstonGraylog2 = require('winston-graylog2');
var options = { ...<your config options here>... };
var logger = winston.createLogger({
exitOnError: false,
format: format.combine(
format.errors({ stack: true }),
format.metadata(),
),
transports: [
new WinstonGraylog2(options) ],
});
logger.info({ message: 'this is an info message', answer: 42 });
// or equivalently
logger.info('this is an info message', { answer: 42 });
logger.error({ message: new Error('FakeError'), somenumber: 96 });
// or equivalently
logger.error(new Error('FakeError'), { somenumber: 96 });
Supported log levels, as from node-graylog2, are the following
| Winston Level | Graylog2 level |
|---|---|
| emerg | emergency |
| alert | alert |
| crit | critical |
| error | error |
| warning | warning |
| warn | warning |
| notice | notice |
| info | info |
| debug | debug |
All other possible winston levels, or custom levels, will default to info
FAQs
A graylog2 transport for winston
We found that @ngocketit/winston-graylog2 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.