我一直在尝试在我的express.js应用程序中配置winston,但我觉得我找到的所有示例都只专注于只有一个文件的应用程序(server.js)
我仍然不明白如何在多个文件(控制器,型号等)中为用户正确配置它。
我遇到了大量的错误,尝试了其他配置方式(使用全局变量和一个文件,我配置记录器,而不是由我最接近的文件所使用的文件导入,以及express-winston我觉得这只是一个错误和请求记录器,并且不明白如何记录自定义日志,所以我放弃了它)
但它永远不会正常工作!! 我没有显示任何代码,因为我觉得我还没有找到任何代码,是的,我已经阅读了大量的文档..
答案 0 :(得分:0)
我正在使用这种方法:
项目结构:
server.js
another.js
logger.js
app.js,another.js和我需要记录的任何其他脚本,我只需要通过Node require
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;