如果我将Log4js与Cassandra附加程序一起使用,我的nodejs程序不会结束进程。
这是一个简单的示例:
var config = require('./scripts/configuration.js');
var log4js = require('log4js');
/* Logger configuration */
log4js.configure({
appenders: {
filelog: { type: 'file', filename: 'errors.log' },
syslog: { type: './scripts/test-appender-cassandra.js', nodes: config.cassandra.contactPoints, keyspace: config.cassandra.keyspace, table: 'system_logs' }
},
categories: {
file: { appenders: ['filelog'], level: 'error' },
another: { appenders: ['syslog'], level: 'error' },
default: { appenders: ['syslog'], level: 'error' }
}
});
var logger = log4js.getLogger('syslog');
console.log('end');
在我的真实程序中,我确实使用Promise,并且当前使用process.exit(1)退出,但这不是正确的方法。
编辑:问题似乎与Cassandra附加程序有关。它保持与Cassandra的开放连接。我无法关闭/关闭它。
答案 0 :(得分:0)
只是免责声明,我没有使用过log4js。
您是否尝试致电
log4js.shutdown(cb)
?