A capped Redis transport for winston.
- NodeJS 8.11.x
- Winston 3.x
const winston = require('winston');
const redisTransport = require('winston-redis');
const logger = winston.createLogger({
level: 'info',
transports: [
new redisTransport()
]
});
logger.log({
level: "info",
message: "redis is awesome",
reason: "it's fast" // this will get stored as meta data
});
This transport accepts the options accepted by the node-redis client:
- host: (Default localhost) Remote host of the Redis server
- port: (Default 6379) Port the Redis server is running on.
- auth: (Default None) Password set on the Redis server
In addition to these, the Redis transport also accepts the following options.
- redis: Either the redis client or the options for the redis client
- length: (Default 200) Number of log messages to store.
- container: (Default winston) Name of the Redis container you wish your logs to be in.
- channel: (Default None) Name of the Redis channel to stream logs from.
- meta: (Default {}) Custom fields to add to each log.
- flatMeta: (Default false) Store meta data at the top level of the object rather than within a child
meta
object.
Metadata: Logged as JSON literal in Redis
$ curl http://npmjs.org/install.sh | sh
$ npm install winston
$ npm install winston-redis
Winston-redis tests are written in mocha, using Abstract Winston Transport and designed to be run with npm.
npm test