2012-03-15 77 views
1

是否可以在不更改server.xml文件的情況下更改tomcats logs/localhost_access_log.*日誌文件的位置?在外部配置tomcat localhost_access_log

最好的解決方案將是一個SystemProperty或環境變量。我只是不想更改這個默認的tomcat安裝,因爲我推出了幾十個不同的tomcat給不同的主機,這使得這個過程非常累人和容易出錯。

謝謝

回答

1

通過採取以下解決了這個步驟:

  • 部署時會生成一個上下文文件tomcat_home/conf/Catalina/localhost/<contextpath>.xml

    <上下文路徑= 「/的contextPath」> <閥的className = 「org.apache.catalina.valves.AccessLogValve」 旋轉= 「假」 目錄=「/ /目錄/到/數/爲「 前綴=‘訪問日誌’ 後綴=」日誌」 圖案=‘組合’ />

  • 的cron該除去tomcat_home/logs/localhost_access_log.*.txt文件,由於上下文/閥門配置僅僅是添加劑,並且不覆蓋現有的AccessLogValve。

我知道這會寫兩次日誌文件,而且你必須知道你的contextpath,這兩個對我的用例來說都不是問題。另一種選擇是刪除server.xml中的完整Valve標記(它更改server.xml,但易於自動化)。

0

是的,它的可能性。下面給出詳細 -
1 conf文件夾創建catalina.properties文件內
2創建可變

accesslog.file=my_access_log_file

3參考它server.xml中作爲

directory="logs" prefix="${accesslog.file}" suffix=".log"
+0

嗨,我知道我可以在server.xml文件中添加SystemProperties,但訣竅是,我可以更改位置_without_如上所述更改server.xml文件嗎? – Dag 2012-03-16 09:26:34

+0

我看不到,因爲默認的server.xml指向一個硬編碼的文件名。 – bubbly 2012-03-16 15:19:19