【问题标题】:Pass configured log4js instance to class将配置的 log4js 实例传递给类
【发布时间】:2019-10-31 16:07:06
【问题描述】:

我正在使用"log4js": "^4.3.1"。我有一个配置类和logger 实例的主文件。

const {
    StartLogger
} = require('./StartLogger')
const log4js = require('log4js');
log4js.configure('./config/log4js-config.json');


async function main() {
    const logger = log4js.getLogger();
    logger.level = 'info';

    const startLogger = new StartLogger(logger)
    startLogger.hello("hello")
}

main()

我的班级如下所示:

const log4js = require('log4js');

class StartLogger {

    constructor(log) {
        logger = log
    }

    hello(msg) {
        this.logger.info("Your Message: " + msg);
    }
}

module.exports = {
    StartLogger
};

但是,我得到 - 理所当然 - 以下异常:

ReferenceError: 记录器未定义

对如何将配置的实例传递给类有什么建议吗?

感谢您的回复!

【问题讨论】:

    标签: javascript log4js-node


    【解决方案1】:

    这里需要在this级别定义logger

        constructor(log) {
            this.logger = log
        }
    

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-22
      • 2011-11-22
      相关资源
      最近更新 更多