以编程方式在log4j属性文件中设置值?
我有一个log4j属性文件。在应用程序启动时,我需要为其中一个属性设置值。可能吗?因为我知道应用程序上的属性值只能启动。以编程方式在log4j属性文件中设置值?
log4j.properties
----------------
Environment = ${env}
谢谢!
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重新启动您的服务器。
是的。您可以通过在应用程序启动时指定JVM参数并在log4j文件中使用相同的参数,如下所示: 其中env是JVM参数。
log4j.appender.rollingFile = org.apache.log4j.RollingFileAppender进行 log4j.appender.rollingFile.File = d:/万桶/ $ {ENV} Userlog.log
感谢您的回复?我可以在哪里设置JVM参数?是否可以永久设置它们?谢谢! – user1016403 2012-07-16 12:37:01
如果您使用eclipse,那么在运行配置中将您设置为-Denv = someValue,或者如果在命令提示符下运行,则将其设置为java -Denv = someValue yourApplication。 – GuruKulki 2012-07-16 12:40:17
这是一个网络应用程序。我在tomcat中部署战争。我可以在哪里设置?请帮帮我? – user1016403 2012-07-16 12:42:44
这是java应用程序还是web应用程序? – amicngh 2012-07-16 12:40:36