问题标签 [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 投票
0 回答
575 浏览

javascript - Node js Winston: stop writing "message" field

I'm using Winston library for logging some data to .log file in JSON with winston.transports.File transport. When any data is logged, the library attaches fields "level", "timestamp" and "message" to it. In fact, I need only 2 first fields and really don't want logger to add the third one. How can I do this?

0 投票
1 回答
12390 浏览

node.js - Winston 的日志流如何工作?

Winston文档有一个关于流日志的部分,其中说:

流式传输允许您从您选择的传输流式传输日志。

并给出以下代码示例:

我对此的解读是,添加的每条新日志消息都会输出到控制台。配置告诉流从{start: -1}文件末尾开始,因此只输出新的日志条目。我希望以下 Node 脚本会导致test.log文件的每个现有行输出到控制台,然后每 500 毫秒输出一个新对象。

我希望看到类似于以下输出的内容:

实际发生的情况是,日志记录与文件传输一样正常工作(文件每 500 毫秒获取一个新的日志条目),但没有输出到控制台。这console.log(log)条线永远不会被调用。

我是否遗漏了一些明显的东西,或者误解了 Winston 的日志流的目的?

0 投票
2 回答
5147 浏览

node.js - 带有winston的nodejs应用程序中的日志文件在哪里

我在我的应用程序目录中找不到“test.log”文件?

下面的代码在 server.js 中

我的应用程序目录:

0 投票
0 回答
378 浏览

logging - Winston 记录到多个文件日志而不复制日志消息

这是我的温斯顿配置:

目前当我登录时:

我想要的是错误只去error.log,调试消息只去debug.log。我怎样才能做到这一点?搜索了文件传输选项,但没有找到类似的东西。

0 投票
2 回答
5955 浏览

node.js - 可以在 Winston 中进行每小时日志轮换吗?

嗨,我的生产团队有一个要求,我需要每小时创建一次日志,我知道 winston 每天都支持,但这对我没有帮助。有可能做到这一点吗?

0 投票
4 回答
30199 浏览

node.js - Node.js 温斯顿日志记录

在我的节点应用程序中,我使用“Winston”日志将错误打印在单独的文件中。

我跟着这个教程

当我尝试从其他文件访问记录器时......

我的代码:

错误正在抛出:

0 投票
2 回答
34706 浏览

node.js - Winston:了解日志记录级别

阅读和摆弄 Winston,我对为什么日志记录级别按原样排序以及为什么传输以它们的方式运行(嗯,至少是控制台之一)感到困惑。如果有人可以(甚至可能是彻底地)通过真实的用例示例解释为什么使用 Winston 进行日志记录以这种方式工作,我将不胜感激?

例如,我这样设置我的记录器:

所以,如果我这样做logger.debug("Test");,那么它会记录下来debug: Test,很好。但如果我这样做logger.info("Test");,那么什么也不会发生。

我遇到 的问题是,如果我想将除消息之外的所有内容都登录到控制台 debug我该怎么办?...甚至debug info消息,但记录其他所有内容?

来自 Java 世界,使用标准记录器,我习惯于debug比记录器更“细粒度”,warn并且记录器向后工作;info例如,将日志记录级别设置为 确实记录了除debug(或其他)之外的所有内容。

另外,如果我希望记录器只记录和消息error,我将如何使用 Winston 来做到这一点?warninginfo

* 编辑 *

显然,这种等级顺序是winston.config.syslog.levels. 所以剩下的唯一问题是:“是否有可能以某种方式将传输限制为仅非常特定的日志记录级别?”

0 投票
1 回答
568 浏览

node.js - 避免使用 node.js winston + logstash 将多条消息合并为一条

在 node.js 中,设置了 winston 和 logstash ...

我在 logstash 用户界面 (Kibana) 中观察到,经常有几条日志消息被塞进一行,就好像它们是一条消息一样。快速了解哪个组件导致了这种情况以及如何避免这种情况?

虽然消息组总体上可能很好......消息被随意折叠并且是有害的 - 因为这样一个组的消息结构与常规消息不同,这确实无助于挖掘数据。

希望传输通过块发送以节省通信开销,但我非常希望我的代码向 winston 发出的每条消息仍然是一条消息,并且不会与其他消息组合在一起。

(我目前正在使用winston-logstash从winston 汇集到logstash)。

0 投票
8 回答
32508 浏览

json - 非常需要:突出显示的 JSON 日志查看器

使用winston进行 node.js 日志记录,我得到 json 日志文件。在这种情况下,日志文件只是一系列(换行符分隔的)json 对象。这对于日志查询和将日志视为一流数据非常有用!

但是,两者Sublimegedit(至少我在 Ubuntu 上使用的版本,sublime 2 和 gedit 3.6.2)都没有突出显示 json - 它们对键和值使用相同的颜色,这使得任何日志钻探都非常痛苦并且真的不可能以任何远程人道的方式进行。

现有chrome extensions的 json 突出显示在这里也没有帮助 - 它们无法处理 json 对象的集合,因此无法显示这些日志文件,除非我首先手动将它们转换为合成父对象中的数组(从而将它们转换为 json 对象)。在查看仍在写入的日志文件的情况下,这很乏味,而且一般......

是否有任何工具既可以按原样吞下 json 日志文件,又可以用不同于值的颜色突出显示键,从而使 json 日志对人也很友好,而不仅仅是对机器?这是一个真正的痛苦。

谢谢!

0 投票
1 回答
1651 浏览

javascript - Node.js 随机抛出写 EIO 异常

我正在使用 node.js + socket.io + Winston (logger) 编写游戏服务器,我的服务器每天都因为这个异常而死机:

我怀疑这可能是我使用温斯顿的方式。我有一个需要 Winston 的类server.jsroom.js这个语句:var winston = require('winston'); 并在server.js我注册文件日志时使用:

room.js我简单地调用winston.info()方法。

可能是因为很多room情况还是什么?