问题标签 [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 - TypeError:winston.Logger 不是带有winston 和morgan 的构造函数
我试过Winston
for logger
。我在一个项目中使用了它们,当我将代码从它们复制粘贴到当前现有项目时,它运行良好,而不是遇到类似的问题TypeError: winston.Logger is not a constructor
让 logger = new (winston.Logger)({ ^
TypeError:winston.Logger 不是构造函数
请指导我,为什么会出现这个错误以及我应该怎么做才能解决这个问题。
“摩根”:“^1.9.0”,“温斯顿”:“^3.0.0”
以下是我在logger.js
文件中的代码。
typescript - '"combined"' 类型的参数不能分配给 'FormatFn' 类型的参数
我正在尝试将摩根和温斯顿记录器一起使用。我收到以下错误。我使用了组合的预设格式。然后我想使用我的记录器记录请求。
[ts] '"combined"' 类型的参数不可分配给 'FormatFn' 类型的参数。
node.js - 在 NodeJS / Express / React 堆栈中记录错误
我一直在使用 React、NodeJS/Express 开发应用程序。我的问题是当错误出现在后端 API 服务器上时,如何记录错误(在节点控制台或外部文件中)?
例如,假设我有一个 api 端点“/api/example”,它将从数据库中获取数据并处理数据。在那个过程中,我有一个数据库类
但是当我调用该方法时,我打错了,所以我调用db.updates(sql)
了,控制台不会显示任何错误Uncaught error: db.updates is not a function
,并且请求只会挂起,直到它终止。
所以我的问题是如何让错误出现在控制台上?它越来越烦人,因为这比它应该消耗的时间多得多。
我尝试了摩根,它似乎只是记录了 http 请求?我也尝试了winston,但在日志文件或控制台中仍然看不到任何内容(尽管我不确定如何使用它。我已在最底部附加了我的winston 记录器代码)。
我以前没有遇到过这个问题,因为我之前一直使用像 ejs 这样的模板视图引擎,当发生这样的错误时,ejs 页面将呈现错误。现在有了 react 环境和只发送 json 响应的 API 服务器,页面就会进入组件的加载状态,直到 fetch 请求失败。
任何指针将不胜感激。谢谢你。
温斯顿 logger.js
应用程序.js
node.js - 收到请求时使用 morgan 记录 POST 正文大小
我正在使用“摩根”库来记录我的请求、所需时间和响应大小。
但是,对于 POST 请求,有没有一种方法可以在收到 POST 请求时记录其正文大小?
node.js - 快递应用程序中的摩根记录器不会为每个条目创建新行
我在让摩根记录器模块将每个日志条目写入日志文件的新行时遇到问题。
我编写了一个快速应用程序来将用户验证到我们订阅的资源中,我需要将日志记录添加到应用程序中。我已将 morgan 设置为写入文件,但是,日志文件中的每个条目都写入同一行,而不是写入新行。
这是我的代码中的内容
我错过了什么?我尝试将 /n 添加到摩根格式的末尾,例如:
但这导致了错误。错误说:
json - 我想存储使用摩根的网络日志并表达到 json 文件
我想存储 JSON 文件,每个都像表单
我用这个代码
我使用这段代码并得到
这是 json 文件,但没有 [ ] 和 ,
如何获取json文件??
node.js - 摩根记录器未正确记录日期或时间
我的 node.js 应用程序中的记录器没有正确记录日期或时间。我使用 morgan 作为日志记录模块,并使用 moment-timezone 正确记录我的时区(太平洋标准时间)中的日期和时间。昨天是按照我设置的格式记录日期和时间的,今天不行。
这是使用时刻时区的摩根日期令牌的代码:
这是我在 morgan.format() 中使用日期标记的代码:
昨天,我的请求以这种格式记录:
[2018-07-31, 14:57 pm], hoopla, ::1, 401, 104.144 ms
今天一切都像这样记录:
[YYYY-MM-DD, HH:mm a], hoopla, ::1, 401, 45.995 ms
我所做的唯一更改是向应用程序添加新路由,但每个日志中间件都根据正在使用的路由记录到一个单独的文件。有谁知道为什么我的日期令牌不再显示日期?
javascript - VScode Intellisense 显示不在 JSdoc 上的定义
我目前正在使用 JS 制作一个项目,并且碰巧使用了morgan包。使用它时,VSCode Intellisense 会在 index.js 文件(唯一与代码有关的文件)中显示与 JSdoc 不兼容的文档。
它的外观示例:
在文件中搜索时,我在 README 文件中偶然发现了它。
我试图复制它但没有成功,我想知道它是如何完成的。
Obs.:我没有检查过其他文本编辑器。Obs2.:我禁用了每个扩展,所以这肯定不是扩展所做的事情。
提前致谢!
Obs.:所以,它似乎没有使用自述文件,而是使用 npm 下载的 TS 文件。更多关于下面的答案!
node.js - Node.js morgan 记录器输出未出现在控制台上
我正在处理一个带有 node.js 后端的新项目,我的morgan
记录器工作得非常好。tiny
起初,我无法使用任何预定义的摩根模板( 、、等)从中获取任何输出,short
没有任何东西传播到输出。我提供了自定义日志记录功能来验证 morgan 在我的堆栈上是否被调用:
序列AAAAAAAAAAA
确实通过colsole.log
内部日志功能传播到控制台输出(证明 morga 在每个请求上实际调用),但日志功能根本不提供它的ABABABABABA
序列。
只要我能够想象预定义的格式可能由于req
/res
对象的非常规名称而失败(顺便说一句,这不是一种情况),那么从 logger 函数返回的纯文本显然应该直接传播到输出。
编辑
将 morgan 选项设置为{immediate: true}
也不能解决问题。
javascript - 摩根的Node Js TypeError:app.use不是函数
我是 node js 的新手,并且正在学习 scotch.io上的教程。我已经导入 morgan 来记录请求,但是当我运行代码时,我得到TypeError: app.use is not a function。这是我的 app.js 代码;
对于 package.json: