2012-03-09 110 views
2

在tomcat 6.0.x中添加log4j [1]強制tomcat在「catalina」文件中生成日誌。但是,默認的catalina.out仍然會生成並填充日誌。所以,問題:Tomcat 6 log4j - linux - 安全地刪除catalina.out

刪除catalina.out文件(服務器運行時)是否安全? 如果是的話,這個刪除可以添加到tomcat啓動腳本嗎?如果是的話,是否有人可以指出文件和所需的腳本? tomcat是否有可能停止創建catalina.out,因爲它不再需要了?

  1. http://tomcat.apache.org/tomcat-6.0-doc/logging.html

提前感謝的人!

回答

6

Tomcat重定向了它的輸出和錯誤到catalina.out中。因此,直接輸出/ err寫入和log4j ConsoleAppender消息將轉至catalina.out。詳情請參閱catalina.sh file。要完全禁用它,你可以重定向輸出和錯誤到/ dev/null的設置CATALINA_OUT環境變量:

export CATALINA_OUT=/dev/null 

但我建議禁用是ConsoleAppender,而不是減少catalina.out的大小和監視它會定期找錯誤信息,即可能會繞過log4j去標準輸出。

+0

你建議禁用ConsoleAppender,但不要提及如何做到這一點。 – rooby 2015-02-26 00:31:56

+0

.handlers = 1catalina.org.apache.juli.AsyncFileHandler – 2016-01-28 03:23:29

-1

是否有你想刪除catalina.out文件的原因?看起來它可能導致潛在的重要事件信息丟失。也許考慮只設置

org.apache.catalina.level=INFO

否則,我想不出有任何理由,如果你刪除它,它會產生負面的容器的功能產生影響。在一個* nix上安裝它仍然寫入文件的文件描述符,該文件與inode(否則無法訪問)是直接連接的,在Windows上它不會讓你刪除它,因爲容器會有文件鎖定。

logging docs - 快速RTFM,它看起來像你應該能夠從logging.properties刪除處理程序停止生產該文件

+0

刪除catalina.out的原因是,由於使用log4j,tomcat日誌現在在另一個文件「catalina」中生成。所以我們有兩次相同的日誌。而且,catalina.out變得非常大。 – nonouco 2012-03-09 15:49:06

+0

你應該參考文檔,但根據我的經驗,有些消息似乎只能進入catalina。特別是那些與類路徑問題和致命的容器錯誤有關的問題。我建議減少catalina日誌設置的冗長度。 – nsfyn55 2012-03-09 15:51:13

+0

請注意,我不想減少冗長,而且正如我之前提到的那些您正在引用的日誌,現在也在多個文件中生成,因此catalina.out是無用的(因爲我對標準輸出不感興趣服務器) – nonouco 2012-03-09 16:04:41