Update redis.js

This commit is contained in:
wadecha 2017-03-16 14:55:48 +08:00 committed by GitHub
parent 20ad278f31
commit 4b6fce1bf4

View File

@ -4,26 +4,32 @@ const layouts = require('../layouts');
const redis = require('redis');
const util = require('util');
function redisAppender(host = '127.0.0.1', port = 6379, pass = '', channel = 'log', layout = layouts.messagePassThroughLayout) {
const redisClient = redis.createClient(port, host, { auth_pass: pass });
let layout;
function redisAppender(config, layout = layouts.messagePassThroughLayout) {
const redisClient = redis.createClient(config.port, config.host, { auth_pass: config.pass });
redisClient.on('error', (err) => {
if (err) {
console.error('log4js.redisAppender - %s:%p Error: %s', host, port, util.inspect(err));
console.error('log4js.redisAppender - %s:%p Error: %s', config.host, config.port, util.inspect(err));
}
});
return function (loggingEvent) {
const message = layout(loggingEvent);
redisClient.publish(channel, message, (err) => {
redisClient.publish(config.channel, message, (err) => {
if (err) {
console.error('log4js.redisAppender - %s:%p Error: %s', host, port, util.inspect(err));
console.error('log4js.redisAppender - %s:%p Error: %s', config.host, config.port, util.inspect(err));
}
});
};
}
function configure(config) {
return redisAppender(config.host, config.port, config.pass, config.channel, layouts.layout(config.layout.type, config.layout));
if (config.layout) {
layout = layouts.layout(config.layout.type, config.layout);
}
return redisAppender(config, layout);
}
exports.appender = redisAppender;
exports.configure = configure;
module.exports.appender = redisAppender;
module.exports.configure = configure;