
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
winston-logzio
Advanced tools
winston-logzio is a winston plugin and wrapper for the logzio-nodejs appender. With winston-logzio, you can take advantage of the winston logger framework with your Node.js app.
Supports Winston 3, If you want to use Winston 2 - Checkout v1.0.8
npm install winston-logzio --save
Use the samples in the code block below as a starting point, and replace the sample with a configuration that matches your needs.
To run with Typescript click here.
const winston = require('winston');
const LogzioWinstonTransport = require('winston-logzio');
const logzioWinstonTransport = new LogzioWinstonTransport({
level: 'info',
name: 'winston_logzio',
token: '<<SHIPPING-TOKEN>>',
host: '<<LISTENER-HOST>>',
});
const logger = winston.createLogger({
format: winston.format.simple(),
transports: [logzioWinstonTransport],
});
logger.log('warn', 'Just a test message');
Replace <<SHIPPING-TOKEN>> with your own logz.io logs shipping token.
Replace <<LISTENER-HOST>> with your region’s listener host (for example, listener.logz.io).
For more parameters for LogzioWinstonTransport and configuration options see our docs.
If you do not have a Logz.io account, you can sign up for a free trial here
http, https or udp. Default: httplistener.logz.ioudp default port is 5050, for http is 8070 and 8071 is for https2000 (2 sec)100.3false@timestamp_nano Default: falsetrace_id, span_id, service_name fields to logs when opentelemetry context is available. Default: truefalsefalse to send logs without the user-agent field in the request header. Default:true. If you want to send data from Firefox browser, set that option to false.extraFields : { field_1: "val_1", field_2: "val_2" , ... }.This winston plugin, basically just wraps our nodejs logzio shipper.
If you want to configure the nodejs logger, any parameters sent to winston when initializing the transport
(what is held in the variable LogzioWinstonTransport in the sample above) will be passed to the logzio nodejs logger itself.
The winston logger by default sends all logs to the console.
You can easily disable this by adding this line to your code :
winston.remove(winston.transports.Console);
If you don't have a 'tsconfig.json' file start by running:
tsc --init
On your 'tsconfig' file, under 'compilerOptions' make sure you have 'esModuleInterop' flag with the value 'true' or add it this way:
"compilerOptions": {
...
"esModuleInterop": true
}
Code sample:
import winston from 'winston';
import LogzioWinstonTransport from 'winston-logzio';
const logzioWinstonTransport = new LogzioWinstonTransport({
level: 'info',
name: 'winston_logzio',
token: '<<SHIPPING-TOKEN>>',
host: '<<LISTENER-HOST>>',
});
const logger = winston.createLogger({
format: winston.format.simple(),
transports: [logzioWinstonTransport],
});
logger.log('warn', 'Just a test message');
Replace <<SHIPPING-TOKEN>> with your own logz.io logs shipping token.
Replace <<LISTENER-HOST>> with your region’s listener host (for example, listener.logz.io).
For more parameters for LogzioWinstonTransport and configuration options see our docs.
For trouble shooting press here.
If you do not have a Logz.io account, you can sign up for a free trial here.
Note: If winston-logzio is used as part of a serverless service (AWS Lambda, Azure Functions, Google Cloud Functions, etc.), add logger.close() at the end of the run.
This winston plugin, basically just wraps our nodejs logzio shipper.
If you want to configure the nodejs logger, any parameters sent to winston when initializing the transport
(what is held in the variable LogzioWinstonTransport in the sample above) will be passed to the logzio nodejs logger itself.
The winston logger by default sends all logs to the console.
You can easily disable this by adding this line to your code :
winston.remove(winston.transports.Console);
To fix errors related to "esModuleInterop" flag make sure you run the relavent 'tsconfig' file. These might help:
tsc <file-name>.ts --esModuleInterop
or
tsc --project tsconfig.json
If you're sending traces with OpenTelemetry instrumentation (auto or manual), you can correlate your logs with the trace context. That way, your logs will have traces data in it, such as service name, span id and trace id (version >= 5.2.0).
This feature is enabled by default, To disable it, set the AddOtelContext param in your handler configuration to false, like in this example:
const winston = require('winston');
const LogzioWinstonTransport = require('winston-logzio');
const logzioWinstonTransport = new LogzioWinstonTransport({
level: 'info',
name: 'winston_logzio',
token: '<<SHIPPING-TOKEN>>',
host: '<<LISTENER-HOST>>',
addOtelCotext: false,
});
const logger = winston.createLogger({
format: winston.format.simple(),
transports: [logzioWinstonTransport],
});
git clone https://github.com/logzio/winston-logzio.git
cd winston-logzio
npm install
npm test
FAQs
A winston transport wrapper for logzio
The npm package winston-logzio receives a total of 21,376 weekly downloads. As such, winston-logzio popularity was classified as popular.
We found that winston-logzio demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers 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.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.