当前位置:  开发笔记 > 编程语言 > 正文

通过JVM参数配置log4j?

如何解决《通过JVM参数配置log4j?》经验,为你挑选了6个好方法。

我必须将哪些变量设置/传递给JVM才能使log4j正常运行?正确地说,我的意思是不要抱怨并打印到控制台.我能看到一个典型的例子吗?

注意:我需要避免在应用程序中创建log4j.properties文件.



1> 30thh..:

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

-Dlog4j.configuration={path to file}

如果文件不在类路径中(在WEB-INF/classesTomcat的情况下),但在磁盘上的某个地方,请使用file:,如

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

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


另一个JVM参数非常方便调试log4j config:`-Dlog4j.debug`
对于Logback:`-Dlogback.configurationFile = C:\ logback-test.xml`
提及文件的+1(重申Tim说的话.这让我对log4j多次疯狂.
是否可以通过此方法使用相对路径?

2> Brian Agnew..:

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

-Dlog4j.configuration={path to file}

其中{path to file}应该以前缀为前缀 file:


`{path to file }`需要以`file:`为前缀才能实现.
注意是否使用**Log4j 2**作为属性名称和语法更改.请参阅[此答案](http://stackoverflow.com/a/34001970/2245051).
@ORMapper - 我已经适当修改了

3> 小智..:

这似乎已经改变(可能与log4j2):

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

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



4> Tim Büthe..:

我知道这已经回答了,但是因为你说,这不是你想要的,我想指出以下替代方案:

您还可以使用配置类而不是属性或xml文件.

-Dlog4j.configuratorClass=com.foo.BarConfigurator

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



5> 小智..:

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



6> Vineet Menon..:

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

Log4J 2.x以后应该是JVM选项-Dlog4j.configurationFile=


PS 可能是相对于类路径的文件,而不file:在其他答案的建议.


重要的答案,因为其他答案不再有效。
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有