【问题标题】:What is the best way to configure winstonjs to use in a large expressjs application?配置winstonjs以在大型expressjs应用程序中使用的最佳方法是什么?
【发布时间】:2014-06-25 21:45:16
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: node.js logging express winston


    【解决方案1】:

    我正在使用这种方法:

    项目结构:

    server.js
    another.js
    logger.js
    

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

    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;
    

    【讨论】:

      猜你喜欢
      • 2022-01-02
      • 2010-11-20
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 2010-11-04
      • 2019-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多