java - 如何在命令行上设置 log4j 级别?

标签 java log4j

我想将一些 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/

相关文章:

java - 测试阶段@Inject字段

java - 将 Log4j.properties 放入 Eclipse 项目的正确位置在哪里?

java - log4j 问题 : redirect logg to many files

java - 在 DownloadManager 下载时显示进度对话框?

Java:如何使用队列接口(interface)创建堆栈?

java - Reactive Mongo - DeleteAllBy...查询 - 找不到类型类 java.lang.Void 的 PersistentEntity

scala - 如何在databricks中添加scala代码日志记录?

java - 在 Java 中使用 JsonPath 解析 JSON

java.util.ConcurrentModificationException 没有按预期抛出

maven - Log4j 冲突 - 提供的容器和项目级别