执行log4js后Node.js不会关闭

时间:2018-11-07 13:57:47

标签: javascript node.js cassandra

如果我将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的开放连接。我无法关闭/关闭它。

1 个答案:

答案 0 :(得分:0)

只是免责声明,我没有使用过log4js。

您是否尝试致电 log4js.shutdown(cb)