通过JVM参数configurationlog4j?

我必须设置/传递什么variables作为JVM的参数才能使log4j正常运行? 而正确的意思是不抱怨,并打印到控制台。 我能看到一个典型的例子吗?

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

你有一个log4jconfiguration文件? 只需使用参考

-Dlog4j.configuration={path to file} 

其中{文件path}应该以file:

解决scheme是使用下面的JVM参数:

 -Dlog4j.configuration={path to file} 

如果文件不在类path中(在Tomcat的情况下,在WEB-INF/classes中),但是在你的磁盘上的某处,使用file:

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

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

我知道这已经回答了,但是因为你说了,这不是你正在寻找的东西,所以我想指出下面的select:

您也可以使用configuration类而不是属性或xml文件。

 -Dlog4j.configuratorClass=com.foo.BarConfigurator 

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

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

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

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

一般来说,只要你的log4j.properties文件在类path上,Log4j应该在JVM启动时自动select它。

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

Log4J 2.x以上的JVM选项应该是-Dlog4j.configurationFile=<filename>


PS <filename>可能是一个文件相对于没有 file:的类pathfile:如其他答案中的build议。