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

json - 人类如何阅读 json winston 日志文件?

API,脚本和其他东西看起来不错。但是使用文本编辑器读取 winston json 堆栈跟踪非常困难。例如

0 投票
2 回答
551 浏览

winston - 为什么winston.log('不打印任何东西?')

不知道是不是我一个人,但是

只打印第二行。

为什么不打印日志?我只想打印日志,级别为:log

这是不可能的还是我做错了什么?

0 投票
1 回答
5790 浏览

node.js - 为所有模块设置默认的winston logger

我正在尝试设置 winston 以与此处相同的方式在我的所有模块中工作:

在几个模块中使用winston

但我遇到了问题。

我已经设置了一个 logger.js 文件来配置控制台记录器:

然后我在我的主 app.js 文件中需要该记录器:

但是,当我在所有其他模块中尝试 require winston 时,我丢失了我在 logger.js 中为 winston 设置的配置

其他模块:

根据我上面引用的链接,我应该能够在所有其他模块中要求 winston,并且我定义/配置的传输应该仍然是相同的。我唯一能想到的是,控制台传输并非如此。如果不是什么给?如何配置一次控制台传输,然后在所有其他模块中使用 winston?

0 投票
3 回答
5178 浏览

node.js - Winston Logging - 单独的级别以单独的传输

我正在使用 Winston 使用 2 种不同的传输方式进行日志记录 - 文件和 MongoDB。我已将 File 的级别设置为“INFO”,将 MongoDB 的级别设置为“ERROR”。如果我现在登录,

所有这些都会进入日志文件,只有错误会进入数据库。我只希望信息消息进入文件,而不是其他消息。

我了解 Winston 中的系统日志级别,并且只有 Error 进入 MongoDB,因为它是最高级别。由于 INFO 是较低级别,因此任何具有 INFO 或更高级别的日志都会进入文件(根据我的记录器定义)

我已阅读here,但找不到答案。即使我创建了自定义级别,我怎么可能将每个传输限制为只有一个日志记录级别?

0 投票
2 回答
8761 浏览

node.js - 如何使用winston在子目录而不是根目录中设置日志?

我想在nodejs名为 logs 的目录中为我的项目设置日志

根据此处的文档

我在做 :

但它什么也没做。

我如何达到同样的效果?

0 投票
1 回答
812 浏览

node.js - 使用带有外部传输的winstonjs

问题是,当我从 http 调用的控制器内的导出函数调用记录器时,它仅适用于本地策略,slack 和 sentry 永远不会得到通知。

记录器设置类似于:

服务器.js

(我没有看到使用全局变量的示例,如果这不是一个好主意,请告诉我,但是像这样它可以在所有文件中使用,而无需导入。)

测试控制器:

测试.js

0 投票
1 回答
117 浏览

node.js - 配置winstonjs以在大型expressjs应用程序中使用的最佳方法是什么?

我一直在尝试在我的 express.js 应用程序中配置winston,但我觉得我发现的所有示例都只关注只有一个文件(server.js)的应用程序

我仍然不明白如何在多个文件(控制器、模型、..)中为用户正确配置它。

我遇到了很多错误,试图尝试替代的配置方式(使用全局变量和我配置记录器的文件,而不是由我得到的最接近的文件导入的记录器,使用 express-winston我觉得这只是一个错误和请求记录器,不明白如何记录自定义日志,所以我放弃了)

但它永远无法正常工作!我没有显示任何代码,因为我觉得我还没有得到任何地方,是的,我已经阅读了大量的文档..

0 投票
0 回答
377 浏览

node.js - 无法使用winston for express app记录错误数据

winston 和 winston-mongodb 设置为我的 express 应用程序记录日志。问题是它只记录我在根目录中的端点的日志,例如 localhost:3000/apidocs 或 localhost:3000/index 但我在 localhost:3000/api/v1/customers 有一个完整的 REST 应用程序和当向任何此类地址发出请求时,它不会显示任何日志。以下代码显示了我如何设置 express winston。

任何帮助将非常感激。

0 投票
1 回答
2659 浏览

node.js - NodeJS Winston DailyRotateFile not writing

I'm trying to setup a simple daily rotation log write with:

It's creating the log file just fine, however logger.info(some_data) doesn't write anything to the log.

Any thoughts, or even another solution?

0 投票
0 回答
814 浏览

node.js - 如何减少登录 winston 每日文件轮换传输的大型对象的内存使用量?

我已将 winston 配置为使用自定义 log.js 文件登录两个不同的文件,以便在不同模块之间每小时轮换日志。

日志.js

我正在使用这个日志文件来存储来自各种文件的日志,在我们的 server.js 中使用 this.Sample

服务器.js

一小时后,顶部的内存使用量显示 EC2 消耗了超过 3gb 的内存。(大部分显示为缓存)这增加了整个应用程序的延迟。

如果我删除了 winston,我的应用程序工作正常,总内存始终在 1.4 到 1.5 GB 左右。

有什么办法可以克服这种情况。

我的日志文件每小时大约 2Gb,我使用 gzip 压缩文件,然后使用 aws cli 将其发送到 s3。