通过 JVM 参数配置 Log4j?

问题描述 投票:0回答:11

我必须设置/传递哪些变量作为 JVM 的参数才能使 Log4j 正常运行?我所说的正确是指不要抱怨并打印到控制台。我可以看一个典型的例子吗?

注意:我需要避免在应用程序中创建

log4j.properties
文件。

java logging log4j
11个回答
196
投票

你有 log4j 配置文件吗?只需使用

引用即可
-Dlog4j.configuration={path to file}

其中{文件路径}应以

file:

为前缀

编辑:如果您正在使用log4j2,则需要使用

-Dlog4j.configurationFile={path to file}

取自答案https://stackoverflow.com/a/34001970/552525


169
投票

解决方案是使用以下 JVM 参数:

-Dlog4j.configuration={path to file}

如果文件不在类路径中(对于 Tomcat,则位于

WEB-INF/classes
中),而是位于磁盘上的某个位置,请使用
file:
,例如

-Dlog4j.configuration=file:C:\Users\me\log4j.xml

更多信息和示例在这里:http://logging.apache.org/log4j/1.2/manual.html


48
投票

这个配置似乎在Log4j 2中发生了变化:

-Dlog4j.configurationFile=file:C:\Users\me\log4j.xml

参见:https://logging.apache.org/log4j/2.x/manual/configuration.html


21
投票

我知道这已经得到回答,但因为你说,这并不完全是你正在寻找的,我想指出以下替代方案:

您还可以使用配置类来代替属性或 xml 文件。

-Dlog4j.configuratorClass=com.foo.BarConfigurator

有关详细信息,请参阅 http://logging.apache.org/log4j/1.2/manual.html


14
投票

迟到了,自 2015 年以来,Log4J 1.x 已达到EOL

Log4J 2.x 及以上版本,JVM 选项 应为

-Dlog4j.configurationFile=<filename>


附注

<filename>
可以是相对于类路径的文件没有其他答案中建议的
file:


11
投票

通常,只要您的 log4j.properties 文件位于类路径中,Log4j 就应该在 JVM 启动时自动选取它。


2
投票

相对路径也可以:

java -Dlog4j.configuration=file:".\log4j.properties" -jar com.your-1.0-SNAPSHOT.jar

java -Dlog4j.configuration=file:".\log4j.xml" -jar com.your-1.0-SNAPSHOT.jar

0
投票

如果你使用的是gradle。您可以应用“应用程序”插件并使用以下命令

  applicationDefaultJvmArgs = [
             "-Dlog4j.configurationFile=your.xml",
                              ]

0
投票

根据页面(Log4j2 - 自动配置)Log4j2需要:

-Dlog4j2.configurationFile=<path to file>

Log4j 将检查“log4j2.configurationFile”系统属性,如果设置,将尝试使用与文件扩展名匹配的 ConfigurationFactory 加载配置。请注意,这不限于本地文件系统上的位置,并且可能包含 URL。

摘自:Log4j2 - 自动配置


0
投票

我在 weblogic 12 中使用了下面的两个命令,它适用于 log4j2.xml

-Dlog4j.configurationFile=<path to file>
-Dlog4j2.configurationFile=<path to file>

0
投票

尝试添加以下 JVM 参数:

-Dorg.apache.logging.log4j.level=INFO

来源:
https://medium.com/@kasunbg/change-log4j2-default-logging-level-to-info-b25db8723eb9

© www.soinside.com 2019 - 2024. All rights reserved.