2017-08-03 144 views
1

我有一个项目nodejs并使用log4js来写入日志。 我想在开始新日期时创建新的文件日志。
例子:
daily.2017_07_31.log
daily.2017_08_01.log
daily.2017_08_02.log
daily.2017_08_03.log

在java中,我知道配置的log4j但在与的NodeJS log4js我不知道。 感谢各位的帮助:)Log4js javascript创建每日日志文件

回答

1

winston被推荐用于nodejs。它非常易于使用。

创建logger.js文件,并有该配置“

require('winston-daily-rotate-file'); 

var winston = require('winston'); 

winston.loggers.add('logger', { 
    transports: [ 
new (winston.transports.Console)(
      { 
       level: config.debugLogLevel, 
       colorize: true 
      }), 

     //new files will be generated each day, the date patter indicates the frequency of creating a file. 
     new winston.transports.DailyRotateFile({ 
       name: 'debug-log', 
       filename: '<log file name>', 
       level: '<level>', 
       prepend: true, 
       datePattern: '<pattern>', 
       maxFiles: <max file> 
      } 
     ), 
     new (winston.transports.DailyRotateFile)({ 
      name: 'error-log', 
      filename: '<log file name>', 
       level: '<level>', 
       prepend: true, 
       datePattern: '<pattern>', 
       maxFiles: <max file> 
     }) 
    ] 
}); 

var logger = winston.loggers.get('logger'); 
Object.defineProperty(exports, "LOG", {value: logger}); 

现在你可以在任何地方使用它像

var log = require('../../server/config/logger.js').LOG 
log.error('hello'); 
+0

和最有趣的部分是,你还可以配置电子邮件作为交通工具。所有日志都可以通过一些配置通过电子邮件发送给您。 –

+0

第一个。感谢您的帮助。我曾使用搜索关键字温斯顿日志,并有答案。但我有依赖关系的问题:)。在文件package.json中,我添加了一行“winston-daily-rotate-file”:“〜1.4.6”,但是当我运行它时,出现错误错误:找不到模块'winston' phuchoangmai

+0

Thank @Manish Kumanwat。我解决它与Winston的依赖:) – phuchoangmai