0

I have following old log4js code which i need to convert into the new log4js format, but i am confused how to do this, can someone please help

log4js.configure({
 appenders:[    
         {
            "type": "console",
            "category": "debug_console"
         },
         {
            "type": "file",
            "absolute": true,
            "filename": path.dirname(require.main.filename) + "/"+config.logs.debug_file,
            "category": "debug",
            "additivity": false
         },
         {
            "type": "console",
            "category": "error_console"
         },
         {
            "type": "file",
            "absolute": true,
            "filename": path.dirname(require.main.filename) + "/"+config.logs.error_file,
            "category": "error_file",
            "additivity": false
         }
    ],
    replaceConsole: false
});

var debug_console = log4js.getLogger('debug_console');
var debug_file = log4js.getLogger('debug');

var error_console = log4js.getLogger('error_console');
var error_file = log4js.getLogger('error_file');
mahen3d
  • 7,047
  • 13
  • 51
  • 103

1 Answers1

0

I dont know if this is correct i was able to sort this out below way, may be it will be helpful to someone,

log4js.configure({
    appenders: { debug_console: { type: 'console'} },
    categories: { default: { appenders: ['debug_console'], level: 'trace' } },
    replaceConsole: true
});
log4js.configure({
    appenders: { debug: { type: 'file', filename: path.dirname(require.main.filename) + "/"+config.logs.debug_file } },
    categories: { default: { appenders: ['debug'], level: 'debug' } },
    replaceConsole: false
});
log4js.configure({
    appenders: { error_console: { type: 'console'} },
    categories: { default: { appenders: ['error_console'], level: 'error' } },
    replaceConsole: true
});
log4js.configure({
    appenders: { error_file: { type: 'file', filename: path.dirname(require.main.filename) + "/"+config.logs.error_file } },
    categories: { default: { appenders: ['error_file'], level: 'error' } },
    replaceConsole: false
});
mahen3d
  • 7,047
  • 13
  • 51
  • 103
  • this is right. you don't have to use separate `.configure()` calls though - the `appenders` object can contain all of the different keys (`debug`, `debug_console`, etc). – oooyaya Sep 29 '17 at 15:24