如果我使用带有cassandraappender的log4js,我的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)来退出,但这不是正确的方法。
编辑:这个问题似乎与Cassandraappender有关。它与Cassandra保持着开放的联系。我不能关闭它。
1条答案
按热度按时间yfjy0ee71#
只是一个免责声明,我没有使用log4js。
你打过电话吗
log4js.shutdown(cb)
?