从这个article开始,要启用Log4j 1.2桥,您应该
1.将系统属性“log4j1.compatibility”的值设置为“true”。Log4j 2会将log4j.properties、log4j-test.properties、log4j.xml和log4j-test.xml添加到它在类路径上搜索的配置文件中。
1.将Log4j 1系统属性“log4j.configuration”设置为log4j 1配置文件的位置。这些文件的文件扩展名必须为“.properties”或“.xml”。
但是如果我的类在Tomcat 8. 5下运行,如何设置system属性呢?
3条答案
按热度按时间lyfkaqu11#
首先你需要了解什么是系统属性。
然后,如果您关心的只是如何添加一个system property on tomcat,就像经典的ram增量一样,您只需要在tomcat的某个脚本上将
key=value
添加到JAVA_OPTS
或CATALINA_OPTS
:如果你不想改变默认的tomcat文件,你可以在bin文件夹中创建
setenv.sh
,并添加如下内容:基本上雄猫说我们:如果您想添加、更改或覆盖特殊的tomcat设置,请将它们添加到文件
setenv.sh
中,我将在启动前加载该变量。下面是一些
setenv.sh
示例,以查看更多特殊的java/tomcat系统属性和环境变量:jv2fixgn2#
每当Log4j文档提到 “系统属性” 时,它实际上指的是任何可用的属性源(参见System properties部分)。
如果要为所有Java应用程序全局设置
log4j.configuration
**,请设置环境变量LOG4J_CONFIGURATION
。如果要为Tomcat上运行的所有应用程序设置该属性,请通过以下任一方法设置Java系统属性:
-Dlog4j.configuration=...
选项传递给JVM,如JRichardsz's answer中所示。$CATALINA_BASE/conf/catalina.properties
(Tomcat在建立自己的日志记录系统之后提供此属性)(请参见this question),log4j2.system.properties
文件中(例如$CATALINA_BASE/lib/log4j2.system.properties
),该文件在启动时由Log4j提供(参见源代码)。将这样的文件放入应用程序中是不好的做法,因为该文件的内容最终会出现在Java的system属性中。如果您希望仅为您的应用程序设置该属性,请将其放在应用程序类路径中的
log4j2.component.properties
文件中。fruv7luv3#
提醒一下,如果你在Windows中将Tomcat作为服务运行,你可以在tomcat8w.exe应用程序中设置Java选项。