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
levelfor thedefaultcategory 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配置打印到控制台。