问题标签 [morgan]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
express - 为什么 Morgan Logger 服务器中间件不能在单独的文件中工作?
我在我的应用程序中按照本教程nextjs
添加新的中间件进行日志记录,因此我的server.js中有以下代码:
它工作没有问题。
但我想将逻辑放在中间件目录中的单独文件中,所以我有:
中间件/记录器/index.js
在我的server.js中,我将拥有:(在导入和初始化内容之后)
其他中间件工作正常,但这个中断了。你知道这是为什么吗?
session - 将唯一的会话 ID 传递给 Winston 记录器
我试图弄清楚在发出 HTTP 请求时是否有办法在所有 winston 记录器调用中使用唯一(每个请求)会话 ID。
关于问题的详细说明:
假设每分钟有数百个请求访问一个网站,并且每个请求都通过不同的函数来注销各种消息。
我的目标是使用winston记录器记录消息,包括每个请求的唯一会话 ID,直到发送响应。
app.use(session(...))
我使用express-session库为请求生成一个唯一的会话 ID 。
使用morgan,HTTP 日志会打印一个唯一的会话 ID,如下所示:
但是,我还想在代码中其他地方的其他 logger.* 函数中使用相同的会话 ID。我能够做到这一点,但是随着同时请求的数量(使用 k6 负载测试)的增加,会话 ID 会被另一个请求的新会话 ID 覆盖。
我在 winston 传输中使用请求中的会话 ID 的代码是:
我希望将 winston 记录器放入app.use(...)
中间件中,以便为 winston 记录器设置 cloudwatch 传输,并在每个请求进入时使用 req.sessionID。
但是,此设置不起作用。如果我同时发送 10 个请求,则此代码会中断,并且 sessionID 会错误地标记在 logger.* 消息上和/或在多条消息中重复。
我查看了其他实现,例如https://solidgeargroup.com/en/express-logging-global-unique-request-identificator-nodejs/,但无法使其正常工作。
希望得到一些建议-我确定我的设置已关闭。
先感谢您。
node.js - 如何使用简单的节点记录器模块
下面的函数创建了 mylogfile,但不能用时间戳和应用程序中的错误错误的 api 响应日志
node.js - Express 在该操作发生所有事情后记录资源使用情况
我正在使用 Express 4.17.1
- 和 Winston 3.3.3
/ Morgan1.10.0
进行日志记录,我已经设法以这种方式进行配置:
然后我将 Winston 配置导入application.js
其中,所有 Express 设置都是这样完成的:
我遇到的问题是,一些日志语句看起来像是由 Winston(我猜)根据已处理的 Express 路由(我喜欢)自动处理的,但它们是在相应工作流的所有常用语句之后记录的。这是一个例子:
我希望2021-03-03T16:25:22.215Z [info] - GET /api/customers 200 11.727 ms - 395
成为该工作流程中的第一个部分,因为它是它的开始,但它在最后被记录 - 这有点令人困惑。
有没有办法解决这个问题,还是这样设计的?如果可以修复,我应该在 Winston 配置或其他任何地方添加/删除/调整什么。
node.js - 没有 GET 请求记录的 mongoose-morgan
嘿,在我正在使用的项目中。mongoose-morgan
它正在记录所有 GET、POST、PUT 和 DELETE 请求。但我不想记录 GET 请求。(由于 GET 请求数量较多)。有没有办法做到这一点?
node.js - Morgan dev pretermined Format Broken
So I am logging the logs using Morgan, The problem is that when I use the "dev" predefined mode, the logs seem broken they look something like this
[0mGET / [36m304[0m 45.776 ms - -[0m
[0mGET / [36m304[0m 15.317 ms - -[0m
However it should look something like this
GET / 304 0m 0m 15.317 ms -0
It seems to me that it is working fine but as dev mode have colours defined in it, and those colours are printing these weird symbols that my Linux(PopOS) Machine is unable to recognize,
my questions are how to fix it so that colour remains. Or just disable colours in dev mode to fix it
node.js - 将摩根带入温斯顿会导致奇怪的角色
在这篇文章之后:Node.js - 记录/使用 morgan 和 winston
我将记录器设置如下;
然而,每当winston 记录一个项目时,它最终看起来像这样;
摩根实例;
我怎样才能修复那些奇怪的字符出现在日志中?
node.js - 我已经构建了一个带有 morgan 模块的 nodejs 应用程序作为记录器
我面临向每个日志添加自定义消息的问题。我的要求是根据其路线为各个日志添加自定义消息。怎么做 ?
让我们说,
我希望我的日志有一条自定义消息作为错误密码。此消息将针对每条路线进行更改。
node.js - 如何在 morgan() 中间件中获取请求正文?
我正在学习如何使用中间件,并且有一项任务是使用morgan()
中间件发布 JSON 资源。但是当我写一个发布东西的代码时,我无法得到摩根的身体。
然后我找到了 morgan-body 并使用它并且它起作用了。
但是现在,任务是更改控制台中的日志,就像 我对在 1 个后端使用 2 个中间件有点不舒服(不知道这样是否可以)。这就是为什么我面临这种情况的潜在解决方案的问题:
- 如何获取
morgan()
请求正文(日志格式和 js 代码格式)以摆脱morgan-body
和编写我的自定义令牌? - 如何编写自定义令牌(找不到任何有关此的文档)
morgan-body
以摆脱morgan()
?
因为我是初学者,所以听到哪个选项更可取以及为什么会有所帮助会很有帮助。如果需要任何其他信息或我的问题有问题,请随时指出。先感谢您。
javascript - app.use(morgan("dev")) 不工作,当我在 app.js 中编写中间件时它可以工作,而当我在 server.js 中编写它时它不工作
这是我的App.js文件
这是我的Server.js文件
问题
当我app.use(morgan("dev"))
在app.js文件中写入它时它可以工作,但是当我将它写入server.js文件时(我在上面粘贴我的代码的方式)它不起作用,甚至没有给出任何错误。