我有一个 log4j 属性文件。在应用程序启动时,我需要为其中一个属性设置值。是否可以?因为我只知道应用程序启动时属性的值。
log4j.properties
----------------
Environment = ${env}
谢谢!
是的。您可以通过在应用程序启动中指定 JVM arg 来做到这一点,并在 log4j 文件中使用相同的值,如下例所示:其中 env 是 JVM arg。
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender log4j.appender.rollingFile.File=D:/bpd/${env}Userlog.log
java -DEnvironment=dev <YourMainProgram>
然后在日志文件中,您可以将该变量称为
log4j.appender.logfile.File=appname-${Environment}.log
编辑:
Tomcat: 如果应用程序在 Tomcat 中运行,您可以在 Catalina.bat 中定义环境。
打开“bin”目录下的“ Catalina.bat ”文件。
set CATALINA_OPTS=" -DEnvironment=dev"
然后通过 Catalina.bat 重新启动您的服务器。