0

我有一个 log4j 属性文件。在应用程序启动时,我需要为其中一个属性设置值。是否可以?因为我只知道应用程序启动时属性的值。

log4j.properties
----------------

Environment = ${env}

谢谢!

4

2 回答 2

2

是的。您可以通过在应用程序启动中指定 JVM arg 来做到这一点,并在 log4j 文件中使用相同的值,如下例所示:其中 env 是 JVM arg。

log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender log4j.appender.rollingFile.File=D:/bpd/${env}Userlog.log

于 2012-07-16T12:34:46.400 回答
0
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 重新启动您的服务器。

于 2012-07-16T12:39:55.350 回答