2009-08-07 165 views
0

在我的web應用程序,我在其中是在啓動時加載一個servlet使用PropertyConfigurator.configure(filepath)功能inititalizing記錄在我的Web應用程序。Log4J日誌在UNIX到catalina.out中,而不是日誌文件

String log4jfile = getInitParameter("log4j-init-file"); 
if (log4jfile != null) { 
    String propfile = getServletContext().getRealPath(log4jfile); 
    PropertyConfigurator.configure(propfile); 

我已經把我的log4j.properties文件WEB_INF /班目錄和我指定文件

log4j.appender.rollingFile.File=${catalina.home}/logs/myapp.log 

我的根記錄器initally配置爲:

log4j.rootLogger=DEBUG, rollingFile,console 

(我相信控制檯屬性也會將語句記錄到catalina.out中)

在Windows中,日誌記錄似乎通常與日誌文件中顯示的語句相關。

在UNIX我的日誌記錄語句將被重定向到catalina.out的,而不是我的實際日誌文件(其中只包含從initalization servlet的記錄)。所有後續日誌都以catalina.out顯示。

這使我相信,我的log4j的是沒有得到正確設置,但我無法找出原因。任何人都可以幫我弄清楚問題出在哪裏。

由於提前, 下跌

回答

1

這可能是一個權限問題 - 檢查$ {}的catalina.home/logs目錄的所有者和權限。

0

這將取決於你所使用的服務器上。 它是Tomcat嗎?在Windows和Linux上它是相同的版本嗎?

+0

你能解釋一下Tomcat版本之間的區別是什麼? – 2013-06-14 22:04:36

0

檢查您是否已經在你的機器設置CATALINA_HOME環境變量。 您可以通過鍵入'echo $ CATALINA_HOME'在linux中進行檢查。