我想将一些 log.debug 语句添加到我正在处理的类中,并且我希望在运行测试时在输出中看到它。我想覆盖命令行上的 log4j 属性,如下所示:
-Dlog4j.logger.com.mypackage.Thingie=DEBUG
我经常做这种事情。我只对在命令行上传递它的方法感兴趣。我知道如何使用配置文件来做到这一点,但这不适合我的工作流程。
最佳答案
作为 jvm 参数的一部分,您可以设置 -Dlog4j.configuration=file:"<FILE_PATH>"
.其中 FILE_PATH 是 log4j.properties 文件的路径。
请注意,自 log4j2 起,要使用的新系统变量是 log4j.configurationFile
然后输入文件的实际路径(即没有 file:
前缀),它将根据配置文件的扩展名自动加载工厂:
-Dlog4j.configurationFile=/path/to/log4jconfig.{ext}
关于java - 如何在命令行上设置 log4j 级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7126709/