logger.debug не является функцией при использовании log4js - PullRequest
0 голосов
/ 13 января 2020

Я использую log4 js для захвата журналов в node js. Моя версия узла v10.16.3 . Когда я запускаю код, я получаю сообщение об ошибке, поскольку logger.debug не является функцией. Есть ли совместимость версий узлов? потому что я использовал тот же код до 1 года.

Пожалуйста, найдите ниже код

приложение. js

 var log4js = require('log4js');
 var logger = require('./logger.js');
 logger.debug("Collecting logs");

регистратор. js

 var log4js = require('log4js');
 var fs = require('fs-extra');

 var getLogger = function (moduleName) {
 try{
    var appList=[];
    console.log('get logger');
    appList.push(moduleName);
    var logger = log4js.getLogger(moduleName);
    var appLog = './logs/app.log';
    fs.ensureFileSync(appLog);

    log4js.configure({
       appenders: {
           console: { type: 'console' },
           filelog: { type: 'file', filename: appLog,  pattern: '-yyyy-MM-dd-hh-mm-ss', category: appList }
       },
      categories: {
           file: { appenders:['filelog'],level:'error'},
           another: {appenders: ['console'],level: 'trace'},
           default: {appenders: ['console','filelog'],level: 'trace'}
      }
    });

  }catch(err){
    console.log(err);
  }
  return logger;
};
exports.getLogger = getLogger;

Пожалуйста, помогите мне в решении проблемы. Спасибо.

1 Ответ

0 голосов
/ 13 января 2020

Ваш logger.js экспорт exports.getLogger = getLogger. Поэтому вам нужно сделать:

var logger = require('./logger.js').getLogger();
logger.debug("Collecting logs");
...