Node.js 日志记录

标签 node.js logging libraries

是否有任何库可以帮助我处理 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");

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

最佳答案

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');

关于Node.js 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12016474/

相关文章:

java - 对于使用 Log4J(不是 SLF4J)的应用程序,如何将底层实现替换为我们内部开发的东西?

json - AngularJS 日志 JSON

node.js - 将密码哈希脚本从 GO 转换为 Nodejs

javascript - 尝试通过引用单独的 json 来设置值

node.js - 事件.js :167 throw er;//Unhandled 'error' event

java - 使用 Logback 屏蔽密码?

dart - 如何安装dart的第3方库

python - 无法在python中pip或pip3安装guidelda库

c# - 如何安装额外的 .NET 库?

node.js - 在 VS 代码调试器中配置设置以运行 docker