我們有幾個Tomcat 7
實例安裝在不同的服務器上。我們有時會將基本相同的應用程序部署到不同的Tomcat(針對不同的客戶),唯一的區別是配置。爲了標準化日誌記錄位置等,我們試圖使應用程序「通用」,以便將war文件部署到Tomcat實例將自動連接它,以便我們不必記住更改應用程序客戶1,然後再爲客戶2等如何獲取Tomcat的logging.properties來識別我的Catalina變量?
無論如何,在每個Tomcat/conf
文件夾中,我在catalina.properties
文件的末尾添加了一些屬性。例如:現在
# custom logging
log.base=c:/logs/tomcat/myapp
log.file=MYAPP.log
,在我應用程序的log4j.cfg
文件,我有:
log4j.appender.R.File=${log.base}/${log.file}
在我應用程序的myapp.cfg
我:
logfile=${log.file}
偉大的作品時,我部署。 Tomcat把它應該是的所有東西除了logging.properties
文件。
該文件通常包含:
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
但我想改變${catalina.base}/logs
用我自己的${log.base}
變量。但Tomcat(或者也許是log4j?)不能識別這個。相反,它實際上在Tomcat根文件夾中創建了一個名爲「$ {log.base}」的目錄。
我讀過,你可以在setenv.bat
文件中聲明自定義變量。我做到了,但仍然無法工作。
我該如何解決這個問題?
順便說一句,我正在使用Windows,Tomcat 7和Windows服務安裝(與GUI)。
感謝