如果我使用带有Cassandra附加器的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)退出,但这不是正确的方式。
编辑:问题似乎与Cassandra附加器有关。它保持与Cassandra的开放连接。我无法关闭/关闭它。
发布于 2018-11-08 02:44:53
只是一个免责声明,我没有使用过log4js。
你试过给log4js.shutdown(cb)打电话吗?
https://stackoverflow.com/questions/53190923
复制相似问题