如何临时禁用log4js登录JavaScript?

时间:2018-11-06 22:33:34

标签: javascript node.js logging

有一些第三方库正在使用log4js输出其日志。我知道这听起来违反直觉,但我想暂时禁用这些日志,以便能够调查我遇到的问题。

如何在javascript代码中临时禁用log4js日志?具体来说就是nodejs。

2 个答案:

答案 0 :(得分:0)

在我的nodejs应用程序的app.js文件中,放置以下代码来暂时禁用第三方库中的log4js日志。

const log4js = require('log4js')
log4js.configure({})

这可用于禁用日志。

答案 1 :(得分:0)

在log4js 5.3.0(不确定有多少版本是相同的)中,您可以通过在根记录器上暂时关闭所有功能来进行此操作,这会影响其他所有记录器:

log4js.getLogger().level = 'off';

完整示例:

#!/bin/env node

const log4js = require('log4js');

log4js.configure({
    appenders: {
        out: { type: "stdout" }
    },
    categories: {
        default: {
            appenders: [ "out" ],
            level: "info"
        }
    }
});

const rootLogger = log4js.getLogger();

const log = log4js.getLogger('foo');

log.info('this is on - turning off');

rootLogger.level = 'off';

log.info('this is off - turning back on');

rootLogger.level = 'info';

log.info('this is back on');

哪个给你:

[2019-11-13T22:00:37.541] [INFO] foo - this is on - turning off
[2019-11-13T22:00:37.544] [INFO] foo - this is back on