1

我一直在尝试在我的 express.js 应用程序中配置winston,但我觉得我发现的所有示例都只关注只有一个文件(server.js)的应用程序

我仍然不明白如何在多个文件(控制器、模型、..)中为用户正确配置它。

我遇到了很多错误,试图尝试替代的配置方式(使用全局变量和我配置记录器的文件,而不是由我得到的最接近的文件导入的记录器,使用 express-winston我觉得这只是一个错误和请求记录器,不明白如何记录自定义日志,所以我放弃了)

但它永远无法正常工作!我没有显示任何代码,因为我觉得我还没有得到任何地方,是的,我已经阅读了大量的文档..

4

1 回答 1

0

我正在使用这种方法:

项目结构:

server.js
another.js
logger.js

app.js、another.js 和任何其他我需要记录的脚本,我只需要通过 Node 的 logger.jsrequire

var logger = require("./logger");
logger.info("...");

在 logger.js 中,只需设置您的 winstonjs 记录器。奖励点:您可以将 winston 交换为具有相同 API 的任何其他记录器

logger.js

var winston = require("winston");

var logger = new winston.Logger({
    transports: [
        new winston.transports.Console({colorize: true, level: "info", prettyPrint: true}),
        new winston.transports.File({filename: "log.log"})
    ]
});

module.exports = logger;
于 2015-02-23T10:42:59.197 回答