2012-07-16 101 views
0

我有一個log4j屬性文件。在應用程序啓動時,我需要爲其中一個屬性設置值。可能嗎?因爲我知道應用程序上的屬性值只能啓動。以編程方式在log4j屬性文件中設置值?

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

Environment = ${env} 

謝謝!

+0

這是java應用程序還是web應用程序? – amicngh 2012-07-16 12:40:36

回答

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重新啓動您的服務器。

2

是的。您可以通過在應用程序啓動時指定JVM參數並在log4j文件中使用相同的參數,如下所示: 其中env是JVM參數。

log4j.appender.rollingFile = org.apache.log4j.RollingFileAppender進行 log4j.appender.rollingFile.File = d:/萬桶/ $ {ENV} Userlog.log

+0

感謝您的回覆?我可以在哪裏設置JVM參數?是否可以永久設置它們?謝謝! – user1016403 2012-07-16 12:37:01

+0

如果您使用eclipse,那麼在運行配置中將您設置爲-Denv = someValue,或者如果在命令提示符下運行,則將其設置爲java -Denv = someValue yourApplication。 – GuruKulki 2012-07-16 12:40:17

+0

這是一個網絡應用程序。我在tomcat中部署戰爭。我可以在哪裏設置?請幫幫我? – user1016403 2012-07-16 12:42:44

相關問題