问题标签 [log4js-node]
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 - 如何在 Loopback 4 中跟踪请求 ID?
我正在尝试使用 Loopback 4 在我的 REST API 中跟踪每个 HTTP 请求,以便使用 log4js 将它们记录到控制器中,就像这样:
这里的主要问题是[request-id:UUID]
部分,因为 Node.js 有时会混淆日志,我无法识别它们中的哪些属于同一个请求。我已经为 Express 应用程序找到了一些解决方案,但是我找不到一种方法来使用 Loopback 4 和 log4js:
- https://itnext.io/request-id-tracing-in-node-js-applications-c517c7dab62d
- https://solidgeargroup.com/en/express-logging-global-unique-request-identificator-nodejs/
- 在 node.js 中按 ID 跟踪请求流
该解决方案可能涉及使用序列处理程序,但我还不知道如何去做。注入 Request 对象的一些提示:https ://github.com/strongloop/loopback-next/issues/1881#issuecomment-431384142
logging - 如何将量角器异常记录到日志文件?
目前,我能够使用log4js和log4js-protractor-appender-file npm 模块将测试执行语句写入日志文件。
但是,如果任何量角器测试用例失败,则该异常(如未找到元素、脚本超时、断言错误)不会写入日志文件。
您能否提供任何指针来实现这一目标?任何工作示例?
目前我在 configuration.js 中有以下记录器配置:
amazon-web-services - log4js-node 是否支持使用任何附加程序登录 AWS S3?
log4js-node 是否支持使用任何附加程序登录 AWS S3?
node.js - 如何从 log4js 中获取当前的实时日志数据?
我现在有个需求,log4js在打印日志的时候,需要获取当前实时的日志数据,一条完整的日志信息(log4js处理过)。log4js有这样的接口吗?
logger.error("Cheese is too ripe!");
当代码执行时,我得到
[2020-07-15T11:19:07.452] [ERROR] cheese - Cheese is too ripe!
如何在我的代码中从 log4js 获取整个字符串,而不是“奶酪太熟”
javascript - 为什么 log4js 不断拆分日志文件?
我正在使用 log4js 将测试结果记录到文件中。我有四个测试文件,每个文件都会创建自己的日志文件。所以这应该是总共 4 个日志文件,但我总共得到 6 个日志文件。不知何故,它只将前两行记录到日志文件中,但其余行被复制到新的日志文件中。有人可以帮忙谢谢吗?
文件:conf.js
文件:log4js.json
文件:log4jsConfig.js
文件:testCalculator.js
文件:calculator.js
文件:testGoogle.js
文件:google.js
以及输出日志文件:
例如,这两个被拆分的日志文件:
“logCalculator.2020-07-29-12-34-19.log”
“logCalculator.2020-07-29-12-34-25.log”
此日志文件“logCalculator.2020-07-29-12-34-19.log”具有:
此日志文件“logCalculator.2020-07-29-12-34-25.log”具有:
node.js - 在集群模式下没有获取通过 pm2 运行的节点进程的任何日志
如果我在 fork 模式下为节点 js 应用程序运行 pm2 进程,则会生成日志,但如果在 pm2 集群模式下运行,相同的应用程序不会提供日志
我正在使用下面的 pm2 生态系统文件来启动我的应用程序
我正在使用 log4js v5.2.2 登录我的节点应用程序
javascript - 如何在 Protractor 中处理跨浏览器测试的日志记录?
我正在用 javascript(VanillaJS)、jasmine 和量角器构建一个自动化框架。我选择了带有 log4js-protractor-appender 的 log4js 进行日志记录。当我执行跨浏览器测试时,我尝试保存日志(按浏览器类型)。我想在 safari 和 chrome 上运行规范,然后期望每个浏览器有 2 个单独的日志文件。
问:如何使用前面提到的技术创建两个单独的日志文件,其中一个仅包含 chrome 的日志,第二个文件仅包含 safari 浏览器的日志?
这是 conf.js 文件中的 log4js 代码
预期的结果是有 2 个文件:default_chrome.log & default_safari.log
我也试过这个选项:
amazon-cloudwatch - AWS 云观察日志格式
我对 Cloud Watch 上的日志有疑问。我一直将日志记录在不同的条目上,而不是每个日志一个条目。这是一个例子。
控制台中的输出:
云手表中的输出:
每一行都是这里的一个条目。
有没有什么办法解决这一问题?作为项目的记录器,我正在使用 Log4js。
ssl - SSL 连接失败:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号
所以我正在努力完成以下工作:
使用 log4js-node 我试图将我的日志记录数据传输到另一个服务器,该服务器捕获数据。
现在没有加密,一切都很好,而且很漂亮,但出于安全目的,我想要花哨的加密(毕竟它是通过万维网传输的)。
我的 Ncat 命令:
我的错误:
Ncat: Failed SSL connection from IPHERE: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
请注意,我使用的是 nmap 项目中的 ncat 而不是 netcat,因为原始的 netcat 不支持 SSL。
我已经尝试将 ncat 服务器的 OpenSSL 版本更新到没有帮助的最新版本。端口设置正确,我不明白为什么它会抛出这个错误......
更新
log4j - 在 Log4J 中,以编程方式添加过滤器不起作用。虽然我们可以通过属性文件添加多个过滤器
我正在使用 log4j 1.2.17 。
我需要以编程方式添加过滤器。我正在使用来自 log4j API 的 StringMatchFilter。但它们似乎不起作用。当我添加一个 log4j.properties 文件时,多个过滤器工作,我能够抑制日志。
以下是代码: