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


我合并了log4js im,试图将所有配置细节保存在一个文件中,并仅使用其他应用程序文件中的方法,以便于维护.但它并没有像预期的那样起作用.这就是我要做的

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;

我已将此文件包含在其他文件中并try

log.error ("Hello Error Message");

但它不起作用.这有什么不对吗?

推荐答案

Winston是一个很好的日志(log)库.您可以使用它将日志(log)写入文件.

代码看起来像:

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相关问答推荐

如何解决TypeError:requ.isAuthenticated不是函数错误?

Gmail API获取附件PDF未正确呈现.我遗漏了什么?

为什么我收到此错误:MissingSchemaError:架构尚未为模型&业务&注册

通过 Node js 中的 TBA 执行 netsuite REST upsert 操作出现 401 错误

一个大型的单个 Redis 实例可以处理所有事情,还是多个 Redis 实例?

try 使用 pdf.js 时 pdf.getPage 不是函数

Postgressql的BIGSERIAL自增序列,即使由于唯一约束错误没有创建行,也会自动增加

使用pm2启动服务器

将文件传递到 AWS lambdas(nodejs) + API 网关后重新上传文件

每个数组值在 mongodb 中查找一个文档

使用 Node.js 在 MongoDB 中搜索

使用加密模块的流功能获取文件的哈希(即:没有 hash.update 和 hash.digest)

我们如何或可以通过 npm 和 Meteor 使用 node 模块?

Puppeteer 错误:未下载 Chromium 修订版

添加git信息到create-react-app

有人在 NodeJS 中实现过 wiki 吗?

请求新页面时如何将 AngularJS 路由与 Express (Node.js) 一起使用?

如何忽略文件 grunt uglify

expressjs app.VERB 调用中的 next() 和 next('route') 有什么区别?

NodeJS:如何调试检测到 EventEmitter 内存泄漏.添加了 11 个侦听器