问题标签 [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.
node.js - NodeJS12 Morgan logger跳过不使用旋转文件流
我正在使用 NodeJS 和 morgan 进行日志记录和旋转文件流来创建日志文件。我想设置应用程序以创建 apache 组合格式的旋转日志文件。代码正在运行,日志在所需目录中创建。但是,跳过功能不起作用。发送到的请求/api/healthcheck
仍然出现在日志中。我已确认“跳过”网址是正确的,并且在发送对该网址的请求时与 originalUrl 匹配,并且我已确认该函数实际上在调用运行状况检查路由时返回 true。
更新:我仍然有这个问题。它似乎与使用流选项有关。例如,不使用 stream 选项进行日志记录,它会正确跳过 healthcheck 路由,但是当使用 stream 选项时,它不会跳过。这是 Morgan 记录器模块中的配置问题还是错误?
express - 如何在与请求ID关联的heroku中显示快速js日志
我在服务器端使用 express js,它托管在 heroku 中。我使用 morgan 为每个请求附加一个用户 ID。尽管它像控制台日志语句一样显示在 heroku 日志中,但我无法找出此输出属于哪个请求。
Heroku 不使用此函数中生成的 requestID。相反,heroku 自己创建了一个,尽管文档说如果在请求标头中设置了一个,则将使用 requestId。
请帮助如何在heroku中为请求关联更多信息。
node.js - 如何使用旋转文件流指定旋转文件位置
我编写了如下代码来记录快速日志。
日志按预期存储在项目之外。
但是在轮换之后,日志以以下文件夹名称存储在项目中
我不希望在项目中创建这些文件夹。有没有办法处理这个?
node.js - 浏览器版本 - expressjs / morgan
我需要收集应用程序中的用户访问日志,主要是他正在使用的浏览器的名称和版本。但是,摩根带来了许多我不需要的细节,你能帮帮我吗?
目前:
火狐
- ::1 - 选项 - /signin - 204 - 0 - 0.126 毫秒http://localhost:8080/auth - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0 -
铬合金
::1 - POST - /signin - 200 - 545 - 106.758 毫秒http://localhost:8080/auth - Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/83.0。 4103.61 Safari/537.36 -
::1 - 选项 - /signin - 204 - 0 - 0.163 ms http://localhost:8080/auth - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0。 4103.61 Safari/537.36 -
预期的:
火狐
- ::1 - 选项 - /signin - 204 - 0 - 0.126 毫秒http://localhost:8080/auth - Firefox/76.0 -
铬合金
- ::1 - POST - /signin - 200 - 545 - 106.758 毫秒http://localhost:8080/auth - Chrome/83.0.4103.61 -
我的代码:
express - Express Morgan 记录的状态代码与客户收到的不同
我只是注意到morgan
在控制台中记录的状态代码与客户端收到的响应不同。
我这样启用摩根:
然后在获取时/home
,摩根记录304:
获取 /v1/home 304 17.580 毫秒 - -
在客户端,我使用的是wretch,它显示响应代码是200:
后端只是使用 express'res.json
来发送响应:
为什么状态码与摩根大通日志不匹配?
node.js - 摩根弃用默认格式:使用组合格式
我morgan
在 nodejs 的应用程序中使用包来记录 HTTP 请求,但我收到了这个警告。如何解决?
摩根弃用默认格式:使用组合格式 app.js:10:9
node.js - 我应该安装摩根记录器作为开发依赖
我应该正常安装摩根dependency
还是因为无论如何devDependency
我都不会在生产模式下使用登录:
express - 摩根与 Express 不记录静态文件
Morgan 似乎只记录使用如下路由创建的 HTTP 请求:
我正在尝试记录使用创建的请求express.static()
。我怎么做?
这是我的完整代码: