问题标签 [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 - 在 Log4js 中如何启用跟踪?
在我可以找到的 Log4js 文档中,有一个 function isTraceEnabled()
,它被定义为
isTraceEnabled
检查是否启用了级别跟踪
但是,我在任何地方都找不到您如何实际启用(而不是检查)此跟踪级别。你怎么能做到这一点?
node.js - 如果我使用自定义记录器函数而不是使用诸如 winston 或 log4js 之类的库,Node 服务器的性能会受到影响吗?
我是 nodejs 的新手,我正在尝试创建一个用于自定义格式化日志记录到文件和控制台的函数。以下是我为此目的使用的功能。
不知道这是否是正确的做法。我检查了winston、log4js-node等库。但我只是想我会自己创建它。我想知道如果我使用winston、log4js或其他东西是否会获得性能优势。
或者换一种说法……我做错了吗?这会影响我的节点服务器的性能吗?
node.js - Log4js 模式布局不起作用
我配置了这个布局:
但custom
记录器中不存在变量:
react-native - log4js fs依赖错误
我正在尝试将最新版本的 log4js(技术上是 log4js-node,但似乎 log4js 现在用于后者)集成到 React Native 项目中。我使用 Yarn 1.0.2 安装了这个包,并写了几行代码来测试配置记录器和查看一些日志的概念。当我尝试启动 React Native 打包器并在我的模拟器中打开应用程序时,出现以下异常:
error: bundling failed: Error: Unable to resolve module 'fs' from 'C:\path_to_project\node_modules\log4js\lib\log4js.js': Module 'fs' does not exist in the Haste module map
我查看了上面的文件,注意到有一个变量依赖于 fs 包。我安装了fs包并再次尝试,但收到此错误:
error: bundling failed: Error: While trying to resolve module 'fs' from file 'C:\path_to_project\node_modules\log4js\lib\log4js.js', the package 'C:\path_to_project\node_modules\fs\package.json' was successfully found. However, this package itself specifies a 'main' module field that could not be resolved ('C:\path_to_project\node_modules\fs\index'). Indeed, none of these files exist:
* ‘C:\path_to_project\node_modules\fs\index.js(.native||.android.js|.native.js|.js|.android.json|.native.json|.json)’
* ‘C:\path_to_project\node_modules\fs\index.js\index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json)’
at ResolutionRequest.resolveDependency (C:\path_to_project\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:103:15)
at DependencyGraph.resolveDependency (C:\path_to_project\node_modules\metro\src\node-haste\DependencyGraph.js:272:4579)
at dependencies.map.relativePath (C:\path_to_project\node_modules\metro\src\DeltaBundler\traverseDependencies.js:376:19)
at Array.map (native)
at resolveDependencies (C:\path_to_project\node_modules\metro\src\DeltaBundler\traverseDependencies.js:374:16)
at C:\path_to_project\node_modules\metro\src\DeltaBundler\traverseDependencies.js:212:33
at Generator.next (<anonymous>)
at step (C:\path_to_project\node_modules\metro\src\DeltaBundler\traverseDependencies.js:297:313)
at C:\path_to_project\node_modules\metro\src\DeltaBundler\traverseDependencies.js:297:473
我知道 fs 包当前未使用,但如果是这种情况,如何使用 log4js 包?它似乎定期更新,查看它的 Github 存储库。
我注意到,当我安装 fs 时,我在我的node_modules
文件夹中获得了 graceful-fs 包。(但在package.json
我看到 fs 包,而不是优雅的 fs)
除了上述操作之外,我还尝试清理 Gradle,显式安装优雅 fs 并安装 react-native-fs,但所有这些都没有任何区别。
node.js - 传递日志请求对象时在节点中使用 log4js 时出错
对不起我的英语,我试图使用 log4js 来设置一个快速的 api 调用日志,当我尝试记录 patition 时,我坚持这个。
这是我的 log4js 日志函数,它接收请求对象,并为日志操作获取一些不同的参数
这就是当 api 函数收到请求时我调用 log 函数的方式,这是另一个模块函数
node.js - 使用 log4js 写入日志消息时添加动态值
我想将动态属性添加到我与 log4js 一起使用的模式中。我正在使用一些自定义模式,如下所示:“%d{} %-6p[%thread] %c [%x{context}]: %m%n%r”
上下文是我想要设置的动态值,其中包含为服务器端的每个用户生成的一些唯一 ID。有一种方法可以在创建 log4js 配置时使用“tokens”和“context”属性添加动态值。但在这种情况下,应该在创建日志期间设置值。
有没有办法添加一些在实际消息写入日志时而不是在配置阶段设置的动态属性?
现在我正在做这样的事情:
但是想在写入日志时注入这个值,比如
node.js - 将 log4js 记录器配置为仅将 INFO 记录到控制台并将所有内容记录到文件
使用下面提到的log4js配置,我打算将所有内容记录到 logs/test/log-timestamp.txt 文件中的文件中,并且仅将 INFO 级别记录到控制台,但我看到控制台打印了所有级别。我该如何解决?
node.js - 是否建议在 nodejs 应用程序中运行 2 个 log4js?
是否建议在我的 nodejs 应用程序中登录 2 个 log4js。
记录器 A(标准记录器)到文件 A:
- 打印/信息
- 错误
- 警告
记录器 B(性能记录器)到文件 B:
- 仅记录性能(即完成此事务所用的时间)
两个记录器都记录到 2 个不同的文件。
javascript - 单独的日志级别
我正在寻找如何仅将“INFO”级别(针对用户)发布到控制台,并将“DEBUG”级别发布到文件的方式。目前我发现只有一个工作解决方案 - 使用几个“ getLogger() ”函数。例如:
- log4js.getLogger('debug');
- log4js.getLogger('info');
其中函数的每个参数将配置类别与 configure() 函数分开。但我不喜欢它,并假设一个getLogger()函数有更好的选择。我尝试的最后一个想法是:
我在控制台中看到 - 只有“INFO”级别,但在文件中我也只看到“INFO”级别。如果我添加到附加程序 - 级别“ALL” - 我将在控制台中看到所有级别,并且相同的内容将在文件中