以编程方式在log4j属性文件中设置值?

时间:2012-07-16 12:31:28

标签: java spring hibernate log4j

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

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

Environment = ${env}

谢谢!

2 个答案:

答案 0 :(得分:2)

是。您可以通过在应用程序启动中指定JVM arg并在log4j文件中使用它来执行此操作,如下例所示: 其中env是JVM arg。

log4j.appender.rollingFile = org.apache.log4j.RollingFileAppender进行 log4j.appender.rollingFile.File = d:/ BPD / $ {ENV} Userlog.log

答案 1 :(得分: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重启您的服务器。