I am using log4js for capturing the logs in node js. My node version is v10.16.3. When i run the code i am getting the error as logger.debug is not a function. Is there any node version compatibility? because I have used the same code before 1 year.
Please find the below code
app.js
var log4js = require('log4js');
var logger = require('./logger.js');
logger.debug("Collecting logs");
logger.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;
Kindly help me in resolving the issue. Thank you.
Your logger.js
exports exports.getLogger = getLogger
.
Therefore, you have to do:
var logger = require('./logger.js').getLogger();
logger.debug("Collecting logs");