问题标签 [winston]

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.

0 投票
3 回答
2923 浏览

node.js - node.js Winston - 如何安全地耗尽记录器

我已经尝试过实例化和关闭 winston 记录器,如https://github.com/flatiron/winston#instantiating-your-own-logger上描述的(一半) ,但无济于事。我在关闭 Winston 的文件传输时遇到了麻烦 - 浏览它的源代码,我发现关闭记录器的正确方法似乎是close方法。我希望这能够关闭记录器使用的传输文件——但事实并非如此。

根据 node.js 服务器负载的频率变化,winston 仍会保留许多传输文件,在close为它们调用方法后无限长的时间,在没有新的写入启动后无限长的时间。我通过 node.js 进程文件描述符表 ( lsof -p) 观察到这一点。即使close调用了 Winston 记录器,它也会无限期地保持日志文件的文件描述符“正在使用”,即日志文件永远不会真正关闭。因此,在我的应用程序运行很长时间后,文件描述符泄漏并最终使 node.js 进程遇到了 ulimit (-n) 限制。

是否应该有一个特定的编程模式来排空 Winston 记录器,以便最终关闭它?

0 投票
3 回答
13067 浏览

node.js - NodeJS winston 日志文件不会因大小限制而改变

我正在使用Winston日志记录并将文件大小指定为最大 10MB。

我希望 app.log 文件在大小达到 10MB 时进行轮换,但这从未发生过,我的日志文件甚至会增长到 GB。

有什么我做错了吗?谢谢。

0 投票
1 回答
1143 浏览

node.js - 通用错误处理程序 MEANJS、猫鼬、温斯顿

所以我最近开始使用 node 和 MEAN 进行编程,在使用 JAVA 时,我总是会专注于创建可靠应用程序的最佳模式,即使学习曲线让我死去,我也在这里尝试同样的方法。无论如何,我正在尝试使用MEANjs实现一个通用错误处理程序 ,以便在中心位置有一个异常处理程序,将错误记录到文件中并在发生这种情况时发送电子邮件。
例如从猫鼬开始

这是 express.js 中的处理程序:

所以这里是令人困惑的地方,因为我试图用 express 实现一个中间件我不确定 app.use 是否是最好的方法,我读过有时不是最好的方法,或者这只是为了 Express 3.xx?? 快递4呢?下面是我用于记录器文件的内容,然后在快速错误处理程序之前使用它是这种好习惯还是应该进入处理程序?

所以登陆这个。有没有办法通过 express 4 使用 MEANJS 在登录文件时发送电子邮件来获得一般错误处理程序。并摆脱所有这些重复的猫鼬错误处理,牢记 MEANJS 的最佳实践。

0 投票
1 回答
157 浏览

node.js - NodeJs WinstonJS 很奇怪的开始

我刚刚开始使用 winstonJS 进行 NodeJS 应用程序日志记录。

我的代码是这样的:

我在控制台中获得的唯一日志是:

还要注意错误的顺序。

我错过了一些明显的东西吗?

谢谢

0 投票
1 回答
6509 浏览

node.js - winston 日志框架是真正的异步吗

我正在使用 nodejs 中的 winston 开发一个日志框架,我使用 Async 模块检查了 winston,但我需要验证它是否真的是异步性质的。

请建议。

0 投票
3 回答
2770 浏览

node.js - Winston 使用 Mongoose Docs 进行日志记录

我最近刚刚切换到 Winston 进行日志记录,并在执行 exec 之后记录 mongoose 文档时发现了一个问题。

例子:

所以基本上我如何让winston日志记录以与从console.log相同的方式打印?我猜它必须在通过调用 toJSON() 记录之前如何被序列化。

我每次都必须手动调用 .toJSON() 还是让人们做其他事情来自动完成这项工作?

0 投票
1 回答
1090 浏览

node.js - 使用 Winston 进行多文件传输

我正在尝试在 Winston 中使用多种传输方式。这是工作......排序。我为应用程序的审核日志设置了传输,自定义级别为“审核”,传输为“信息”。

显然,我需要这个文件,我想在哪里/什么时候做任何日志记录。当想要将某些信息单独发送到日志时,就会出现问题。

这两行应该写入单独的日志。第一行被正确写入数据库和信息日志文件。我究竟做错了什么?

0 投票
1 回答
323 浏览

node.js - 温斯顿日志每日卷

我的日志文件滚动并附加了正确的日期格式。

但我想知道是否可以创建一种情况,使我最新的日志始终具有一致的名称。例如

这里 foo.log 代表 10-04 的日志

或者

这里 foo.log 代表 10-05 的日志

0 投票
1 回答
1245 浏览

node.js - Winston Logging - 如果另一个传输失败,则恢复传输

我正在使用 winston 和 winston-elasticsearch 登录 Elastic Search。我设置传输没有问题,一切正常。

无论如何,如果 ES 服务器无法访问,则在停机期间发送的日志似乎会永远丢失。

有没有办法告诉 Winston 在 Elastic-Search 传输失败时(且仅在)失败时登录文件?

0 投票
0 回答
267 浏览

node.js - 在流模式下使用 Nodejs Winston 每日传输向传输文件添加时间戳

为了修复高并发传输文件丢失的日志,我将模式更改为流。丢失日志的问题随后得到修复。但是我还有另一个问题是无法每天创建传输文件(即使我将传输模式设置为DailyRotateFile)。

我想知道,是否可以设置任何选项来实施这种情况?或者我必须破解它???

多谢你们。

演示代码如下: