
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
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: http
listener.logz.io
udp
default port is 5050
, for http
is 8070
and 8071
is for https
2000
(2 sec)100
.3
false
@timestamp_nano
Default: false
trace_id
, span_id
, service_name
fields to logs when opentelemetry context is available. Default: true
false
false
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 30,257 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 0 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.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.