通过JVM参数配置log4j?

问题

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

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


#1 热门回答(149 赞)

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

-Dlog4j.configuration={path to file}

如果文件不在类路径中(在Tomcat的情况下为inWEB-INF/classes)但在磁盘上某处,请使用file:,如

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

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


#2 热门回答(131 赞)

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

-Dlog4j.configuration={path to file}

其中应该以file:作为前缀


#3 热门回答(19 赞)

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

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

-Dlog4j.configuratorClass=com.foo.BarConfigurator

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