node.js在执行log4js后不会关闭

aamkag61  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(401)

如果我使用带有cassandraappender的log4js,我的nodejs程序不会结束进程。
下面是一个简单的示例:

  1. var config = require('./scripts/configuration.js');
  2. var log4js = require('log4js');
  3. /* Logger configuration */
  4. log4js.configure({
  5. appenders: {
  6. filelog: { type: 'file', filename: 'errors.log' },
  7. syslog: { type: './scripts/test-appender-cassandra.js', nodes: config.cassandra.contactPoints, keyspace: config.cassandra.keyspace, table: 'system_logs' }
  8. },
  9. categories: {
  10. file: { appenders: ['filelog'], level: 'error' },
  11. another: { appenders: ['syslog'], level: 'error' },
  12. default: { appenders: ['syslog'], level: 'error' }
  13. }
  14. });
  15. var logger = log4js.getLogger('syslog');
  16. console.log('end');

在我的实际程序中,我确实使用promise,目前我使用process.exit(1)来退出,但这不是正确的方法。
编辑:这个问题似乎与Cassandraappender有关。它与Cassandra保持着开放的联系。我不能关闭它。

yfjy0ee7

yfjy0ee71#

只是一个免责声明,我没有使用log4js。
你打过电话吗 log4js.shutdown(cb) ?

相关问题