if (config.log.format === 'logstash') {
log4js.clearAppenders()
log4js.loadAppender('logstash', appender)
log4js.addAppender(log4js.appenders.logstash())
}
const logger = log4js.getLogger()
logger.levels = config.log.level
module.exports = logger
Upgrading from version 1.1.1 of log4js to ^6.4.0 put me in trouble. I read about some differences but can't figure it out. One thing to mention is that locally it doesn't complain about this error but it is complaining on jenkins pipeline. The error:
log4js.clearAppenders() ^
TypeError: log4js.clearAppenders is not a function at Object. (/usr/src/app/src/log/logger.js:6:10) at Module._compile (internal/modules/cjs/loader.js:1156:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10) at Module.load (internal/modules/cjs/loader.js:1000:32) at Function.Module._load (internal/modules/cjs/loader.js:899:14) at Module.require (internal/modules/cjs/loader.js:1042:19) at Module.require (/usr/src/app/node_modules/require-in-the-middle/index.js:43:24) at require (internal/modules/cjs/helpers.js:77:18) at Object. (/usr/src/app/index.js:4:13) at Module._compile (internal/modules/cjs/loader.js:1156:30)
Want to mention that the only thing I've changed is the way how the level needs to be set for logger. FROM
logger.setLevel(config.log.level)->logger.level=config.log.level
Which are the equivalents for the functions below in v6 log4js?
log4js.clearAppenders()
log4js.loadAppender('logstash', appender)
log4js.addAppender(log4js.appenders.logstash())