使用节点js中的log4js将日志写入文件

我的代码是:

log4js.loadAppender('file'); log4js.addAppender(log4js.appenders.file('logs/cheese.log'), 'cheese'); logger.setLevel('DEBUG'); logger.trace('Entering cheese testing'); logger.debug('Got cheese.'); logger.info('Cheese is Gouda.'); logger.warn('Cheese is quite smelly.'); logger.error('Cheese is too ripe!'); logger.fatal('Cheese was breeding ground for listeria.'); 

它创build一个名为“奶酪”的文件,但里面没有任何内容。 如何写内容呢?

这个解决scheme可以帮助你创build日志文件夹和三个文件error.log,debug.log和信息。 为我工作。 谢谢。

 var log4js = require('log4js'); // include log4js log4js.configure({ // configure to use all types in different files. appenders: [ { type: 'file', filename: "/logs/error.log", // specify the path where u want logs folder error.log category: 'error', maxLogSize: 20480, backups: 10 }, { type: "file", filename: "/logs/info.log", // specify the path where u want logs folder info.log category: 'info', maxLogSize: 20480, backups: 10 }, { type: 'file', filename: "/logs/debug.log", // specify the path where u want logs folder debug.log category: 'debug', maxLogSize: 20480, backups: 10 } ] }); var loggerinfo = log4js.getLogger('info'); // initialize the var to use. var loggererror = log4js.getLogger('error'); // initialize the var to use. var loggerdebug = log4js.getLogger('debug'); // initialize the var to use. loggerinfo.info('This is Information Logger'); loggererror.info('This is Error Logger'); loggerdebug.info('This is Debugger'); 

在上面的代码中你缺lesslogging器声明:添加行var logger = log4js.getLogger('cheese');

整个代码块将如下所示:

 var log4js = require('log4js'); log4js.loadAppender('file'); log4js.addAppender(log4js.appenders.file('logs/cheese.log'), 'cheese'); var logger = log4js.getLogger('cheese'); logger.setLevel('DEBUG'); logger.trace('Entering cheese testing'); logger.debug('Got cheese.'); logger.info('Cheese is Gouda.'); logger.warn('Cheese is quite smelly.'); logger.error('Cheese is too ripe!'); logger.fatal('Cheese was breeding ground for listeria.'); 

在版本2.x.

你需要做这样的事情:

 var log4js = require('log4js'); log4js.configure({ appenders: { 'file': { type: 'file', filename: 'logs/cheese.log' } }, categories: { default: { appenders: ['file'], level: 'debug' } } }); var logger = log4js.getLogger('cheese'); logger.setLevel('DEBUG'); logger.trace('Entering cheese testing'); logger.debug('Got cheese.'); logger.info('Cheese is Gouda.'); logger.warn('Cheese is quite smelly.'); logger.error('Cheese is too ripe!'); logger.fatal('Cheese was breeding ground for listeria.'); 

如果您想根据日志消息中的属性(如上面的文件名)dynamic创build文件,请查看multiFile appender 。