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

Java 以编程方式设置log4j属性文件中的值?,java,spring,hibernate,log4j,Java,Spring,Hibernate,Log4j,我有一个log4j属性文件。在应用程序启动时,我需要为其中一个属性设置值。可能吗?因为我只知道应用程序启动时属性的值 log4j.properties ---------------- Environment = ${env} 谢谢 是的。您可以通过在应用程序启动中指定JVM参数并在log4j文件中使用该参数来实现这一点,如下例所示: 其中env是一个JVM参数 log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender l

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

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

Environment = ${env}

谢谢

是的。您可以通过在应用程序启动中指定JVM参数并在log4j文件中使用该参数来实现这一点,如下例所示: 其中env是一个JVM参数

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

java -DEnvironment=dev <YourMainProgram>
编辑:

Tomcat:如果应用程序在Tomcat中运行,您可以在Catalina.bat中定义环境

打开“bin”目录中的“Catalina.bat”文件

 set CATALINA_OPTS=" -DEnvironment=dev"

然后通过Catalina.bat重新启动服务器。

谢谢您的回复?在哪里可以设置JVM参数?是否可以永久设置它们?谢谢如果您使用的是eclipse,则在运行配置中设置为-Denv=someValue;如果在命令提示符下运行,则在应用程序中设置为java-Denv=someValue。它是一个web应用程序。我正在tomcat部署战争。在这里我可以在哪里下车?请帮帮我?@user1016403:已编辑答案,请检查。这是java应用程序还是web应用程序?
 set CATALINA_OPTS=" -DEnvironment=dev"