问题标签 [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.
javascript - 在 RollingFileStream 中配置 log4js 的文件名
我正在使用 log4js 登录我的节点 js 应用程序。我已将记录器配置为在文件大小达到某个最大大小时创建一个新文件。记录器创建一个具有相同文件名和“。”的文件。并且索引号附加到文件名中,每次创建新文件时索引号都会增加。
例如,运行文件的文件名为:20150730060112.log
然后创建的下一个文件为
我希望使用当前时间戳创建下一个文件,而不是使用“.1”。
node.js - 可配置的滚动日志文件名
我log4js
用来登录我的节点 js 应用程序。我已将记录器配置为在文件大小达到某个最大大小时创建一个日志文件。记录器创建一个具有相同文件名的文件,'.'
并且索引号附加到文件名中,每次创建新文件时索引号都会增加。
在文件名中创建文件时,我使用当前时间戳为:20150730060112.log
然后创建的下一个文件为 as 20150730060112.log.1
,20150730060112.log.2
20150730060112.log.3
依此类推...
我希望使用当前时间戳创建下一个文件。例如,如果20150730060112.log
文件达到 maxLogSize 让我们说,2015-07-31at 07:04:13
那么我想要的新文件的文件名是20150731070413.log
.
请让我知道这是否可能或任何解决方法来解决这个问题。
log4js-node - 如何使用默认的“-yyyy-MM-dd”模式控制“dateFile”附加程序中滚动的天数?
是否可以选择控制滚动的最大天数?
起初我认为这是由“备份”选项控制的,但快速查看 RollingFileStream.js 似乎表明它管理索引,不一定与日期滚动模式相关。
javascript - Log4js:日志依赖于 NODE_ENV
如何根据设置的 NODE_ENV 创建日志(INFO、ERROR)?
我的意思是,例如,如果 NODE_ENV=development,我只写 ERROR 日志。使用 NODE_ENV=production,必须只有 INFO。
我应该如何修改附加程序来执行此操作?
谢谢你的帮助。
node.js - 在节点中使用 express 连接多个 log4js appender
我想在控制台以及日志文件中记录我的快速服务器上的所有活动。
var log = log4js.getLogger(); log.info(), log.error()....等工作正常
另外,如果我将它与 app.use(log4js.connectLogger(log, { level: 'auto' })); 也可以..
我在配置文件中有另一个日志附加程序,即文件类型,我知道如何从配置文件加载附加程序。
但我无法同时使用文件和控制台附加程序与 express。
javascript - 用于单元测试和运行基于浏览器的 Web 应用程序的 Javascript 日志记录设置
我正在仅在客户端处理 javascript Web 应用程序。我在本地服务器上运行时使用 log4javascript 记录应用程序功能,因为在单元测试期间我无法让 log4javascript 工作(在 Jasmine+Karma 或 Mocha 中),我在 Node 上运行单元测试时使用 log4js 进行记录摩卡。
要在正常的 webb 应用程序运行期间进行日志记录,我使用以下方法从 html 页面创建 log4javascript 记录器(因为我无法弄清楚从 javascript.js 文件创建 glogal 记录器的任何方法):
因为我想在单元测试期间登录到控制台,所以我需要在运行正常 Web 应用程序期间登录的相同 javascript.js 文件中设置 log4js。IE:
然后从内部函数我可以使用:
这在从 log4javascript 和 log4js 记录时会起作用,但这很混乱,因为我在每个 javascript 文件中都有 require('log4js') 语句(在浏览器上运行时似乎被忽略),并且记录器有两种含义。在开发基于浏览器的 javascript 期间是否有更好的方法来使用日志记录?
node.js - log4js 配置文件中使用的“maxLogSize”的度量单位是什么?
在用于创建配置文件的log4js文档中:
有谁知道该选项使用的测量单位是"maxLogSize"
什么?
我认为这是以 KB 为单位的,因为,
20480 / 1024 = 20 MB ??
并且因为我认为拥有高达 20 GB 的文件并不是一个好主意,因为当它达到该文件大小时,它无法在记事本中打开。
但我仍然想确定这里使用的单位,因为精确非常有帮助。
我检查了wiki,但似乎找不到任何关于它的提及。
javascript - ExpressJS 中记录器模块定义的问题
我有我的 nodejs 项目,我想将记录器与我的 route.js 分开以获得干净的代码。
但是我遇到了下一个问题,当我尝试将记录器加载到 route.js 文件时,它会显示下一个错误:
我的记录器目录中有下一个代码:
记录器/ticket.js
而我的 route.js 文件,有下一个头
路线/ticket.js
我做错了什么,以及如何改进将记录器与 route.js 文件分开的代码。
谢谢。
javascript - Is there any way in nodejs to print log4js output in JSON format?
I am trying to get output of log4js in JSON format so I can easily trace it. Is there any way that we have to set in configuration.json so output produced by log4js will be in JSON format?
Currently I am using following config.
and I got output is in following format :
instead I want it in (Something like following structure) :
{"id" : "1458562784032", "time" : "2016-03-21T12:19:44.4444+00:00", "message" : "Data in request:", "data" : "{ "action": "XXXXXXX", "user": { "username": "XXXX", "id" : XXXX, "pos: : XXXX }, "version": 111 }" }
May be there is something I missing in config.
Thanks for helping.
javascript - 如何使用变量 args 调用类方法
我正在创建一些 NPM 模块,它们将在我的大型项目的其他模块中使用。我的主项目配置并使用 log4js NPM 进行日志记录。我还需要在 NPM 模块中编写一些日志以用于调试/信息目的。
但是,我想使用由主模块初始化的记录器。因此,主模块通过创建全局变量(例如“global.logger”)或在 require() 调用期间显式传递来传递记录器实例。
我想在 NPM 模块中构建一点智能,以便它们可以写入日志,如果 global.logger 已初始化,或者“logger”变量是否由 require() 调用初始化。如果在没有定义记录器的情况下使用 NPM 模块,它仍然可以工作,但不会打印任何日志。
为了实现这一点,我最终采用了几种这样的方法。
方法一: 通过检查是否定义了记录器来编写日志。
方法二——包装函数
由于方法看起来很笨拙,每次都进行 if 检查,因此我最终编写了一个包装器 fn 来执行检查并写入日志,如下所示:
而且,这个包装器将被称为这种方式..
即使认为这种方法有效,但在包装函数中仍然有很多代码。我敢肯定,可能有更好的方法,但我不明白。非常感谢这方面的任何帮助。