小编典典

Node.js 日志记录

all

是否有任何库可以帮助我处理 Node.Js
应用程序中的日志记录?我想要做的就是,我想将所有日志写入一个文件,并且我需要一个选项,比如在特定大小或日期之后推出文件。


我已经合并了 log4js,我试图将所有配置细节保存在一个文件中,并且只使用其他应用程序文件中的方法以便于维护。但它没有按预期工作。这是我想要做的

var log4js = require('log4js'); 
log4js.clearAppenders()
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file('test.log'), 'test');
var logger = log4js.getLogger('test');
logger.setLevel('ERROR');


var traceLogger = function (message) {
        logger.trace('message');
    };

var errorLogger = function (message) {
        logger.trace(message);
    };


exports.trace = traceLogger;
exports.error = errorLogger;

我已将此文件包含在其他文件中并尝试过

log.error ("Hello Error Message");

但它不起作用。这有什么问题吗?


阅读 80

收藏
2022-08-03

共1个答案

小编典典

Winston是一个非常好的日志库。您可以使用它将日志写入文件。

代码看起来像:

var winston = require('winston');

var logger = new (winston.Logger)({
  transports: [
    new (winston.transports.Console)({ json: false, timestamp: true }),
    new winston.transports.File({ filename: __dirname + '/debug.log', json: false })
  ],
  exceptionHandlers: [
    new (winston.transports.Console)({ json: false, timestamp: true }),
    new winston.transports.File({ filename: __dirname + '/exceptions.log', json: false })
  ],
  exitOnError: false
});

module.exports = logger;

然后,您可以像这样使用它:

var logger = require('./log');

logger.info('log to file');
2022-08-03