javascript - 来自请求对象的 Node/快速访问记录器

标签 javascript node.js logging express

我正在尝试查看是否可以通过请求对象访问我的记录器。我有一个 cusotm winston 包装器,它使用 winston、express-winston 和 moment 来保持我的应用程序的整洁。

在我的 app.js 中我只有

  var logger = require('winston-custom');

  server.use(logger());

然后在 Controller 中,我试图找到一种干净的方法来让记录器脱离请求对象(如果可能),所以我不必在此处导入它。我的第一个猜测是它在 req.app 上,但它似乎没有。

所以在我拥有的同一台服务器的 Controller 中

 function rootAPI(req, res) {
  console.log("req.app", req.app);

这似乎没有为我提供任何东西,我什至尝试记录 req 并挖掘它。有什么方法可以正确实现这一目标?谢谢!

最佳答案

如果您完全确定需要此功能,可以通过在request 上添加自定义字段来实现它:

server.all("*", function(req, res, next)
{
    req.logger = logger;
    next();
});

关于javascript - 来自请求对象的 Node/快速访问记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715912/

相关文章:

javascript - 一页上的多个 Bootstrap 轮播无法正常工作

javascript - 在 react 中打开一个新图像 onclick

node.js - Electron JS安装错误-: EACCES: permission denied错误

javascript - 使用 Multer 更改上传文件的目的地

python - 如何在 Python 中解析这个自定义日志文件

javascript - 使用 javascript 下拉列表

javascript - 如何确认选中的单选按钮?

angularjs - 从 Azure Blob for Express.js 服务器提供 HTML 文件

git - 如何从 git log 输出中获取特定的 SHA

logging - 使用 slf4j(和 io.symphonia :lambda-logging) in AWS Lambas)登录时,CloudWatch 输出中出现新行问题