log4js无法打印日志
我在入门log4js时候在网上找了很多教程,比如
Node.js 之 log4js 完全讲解 - 知乎 (zhihu.com)
Nodejs log4js日志管理详解 - 简书 (jianshu.com)
在开头我便卡住了,因为我的vscode,控制台,cmd都无法根据这些教程提供的最简单的示例输出东西,
1 |
|
我以为是我vscode的原因,甚至cmd和powershell7也没法输出,一度怀疑是电脑系统的问题,最后我去翻阅官方文档,发现这句话
By default, log4js will not output any logs (so that it can safely be used in libraries). The
level
for thedefault
category is set toOFF
. To enable logs, set the level
默认情况下,log4js不会输出任何日志,以便能在库中被安全使用,level选项默认是关闭的,为了能主动进行日志的打印,请设置level选项
这意味着log4js的使用是必须要设置level的,官方给出的例子是
1 |
|
我的vsc,powershell,cmd成功正常打印日志。
这件事告诉我们一切以官方文档为准。
log4js可以跨模块使用
我在一个模块中使用log4js.configure定义了appenders
和categories
,在其他的模块中并不需要导入这个模块的log4js,而是直接使用logger = log4js.getLogger("xxx")
便取得了在另一个模块中定义的category
。
log4js的category中default设置
category中的default是必须存在的所有未在categories
中出现的取得的logger配置都为default,根据这个特性,我可以获取许多logger,只让他们根据default配置打印到控制台。