将已配置的log4js实例传递给类

时间:2019-06-18 04:43:20

标签: javascript log4js-node

我正在使用"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:未定义记录器

关于如何将配置的实例传递给类的任何建议?

感谢您的答复!

1 个答案:

答案 0 :(得分:0)

这里,您需要在this级别定义记录器

    constructor(log) {
        this.logger = log
    }