
Research
Security News
Malicious PyPI Package Exploits Deezer API for Coordinated Music Piracy
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
winston-papertrail
Advanced tools
A Papertrail transport for winston.
$ curl http://npmjs.org/install.sh | sh
$ npm install winston
$ npm install winston-papertrail
There are a few required options for logging to Papertrail:
var winston = require('winston');
//
// Requiring `winston-papertrail` will expose
// `winston.transports.Papertrail`
//
require('winston-papertrail').Papertrail;
var logger = new winston.Logger({
transports: [
new winston.transports.Papertrail({
host: 'logs.papertrailapp.com',
port: 12345
})
]
});
logger.info('this is my message');
For more some advanced logging, you can take advantage of custom formatting for Papertrail:
var winston = require('winston');
//
// Requiring `winston-papertrail` will expose
// `winston.transports.Papertrail`
//
require('winston-papertrail').Papertrail;
var logger = new winston.Logger({
transports: [
new winston.transports.Papertrail({
host: 'logs.papertrailapp.com',
port: 12345,
logFormat: function(level, message) {
return '<<<' + level + '>>> ' + message;
}
})
]
});
logger.info('this is my message');
The Papertrail transport is also capable of emitting events for error
and connect
so you can log to other transports:
var winston = require('winston'),
Papertrail = require('winston-papertrail').Papertrail;
var logger,
consoleLogger = new winston.transports.Console({
level: 'debug',
timestamp: function() {
return new Date().toString();
},
colorize: true
}),
ptTransport = new Papertrail({
host: 'logs.papertrailapp.com',
port: 12345,
hostname: 'web-01',
logFormat: function(level, message) {
return '[' + level + '] ' + message;
}
});
ptTransport.on('error', function(err) {
logger && logger.error(err);
});
ptTransport.on('connect', function(message) {
logger && logger.info(message);
});
var logger = new winston.Logger({
levels: {
debug: 0,
info: 1,
warn: 2,
error: 3
},
transports: [
ptTransport,
consoleLogger
]
});
logger.info('this is my message ' + new Date().getTime());
The winston-papertrail
transport supports colorization with winston
. Currently, the ANSI codes used for escape sequences are part of the search index, so please be advised when using colorization.
var winston = require('winston'),
Papertrail = require('winston-papertrail').Papertrail;
var logger = new winston.Logger({
transports: [
new Papertrail({
host: 'logs.papertrailapp.com',
port: 12345, // your port here
colorize: true
})
]
});
logger.info('Hello from colorized winston', logger);
As of v0.1.3
winston-papertrail
transport supports closing the transport (and the underlying TLS connection) via the Winston.Transport
close
method. Thus, you can enable scenarios where your transport automatically closes when you close the winston
logger.
var winston = require('winston'),
Papertrail = require('winston-papertrail').Papertrail;
pt = new Papertrail({
host: 'logs.papertrailapp.com',
port: 12345 // your port here
});
var logger = new winston.Logger({
transports: [ pt ]
});
pt.on('connect', function () {
logger.info('logging before I close');
logger.close(); // this closes the underlying TLS connection in the Papertrailt transport
});
Currently, the Papertrail transport only supports TLS logging.
FAQs
A Papertrail transport for winston
The npm package winston-papertrail receives a total of 10,345 weekly downloads. As such, winston-papertrail popularity was classified as popular.
We found that winston-papertrail demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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.
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.
Security News
Newly introduced telemetry in devenv 1.4 sparked a backlash over privacy concerns, leading to the removal of its AI-powered feature after strong community pushback.