2009-11-27 107 views
0

我看到很多關於上述主題的問題,但沒有解決這個問題。 我正在嘗試使用log4j登錄到$ CATALINA_BASE/logs /目錄中的自定義文件。 我配置了log4j.xml文件並將其複製到$ CATALINA_BASE/lib /目錄中。log4j,fileappender和tomcat6日誌問題

我使用下面的行來創建記錄器 -

的PatternLayout佈局=新的PatternLayout(); FileAppender appender = new FileAppender(「filename.txt」);

這是我的問題所在。我如何讓FileAppender獲取我在log4j.xml中配置的文件名?

我希望它會自動選擇它,但是FileAppender沒有使用文件名的consructor。

我是否必須閱讀l​​og4j.xml以獲取文件的名稱?如果是這樣,爲什麼我需要在xml中設置該屬性?

任何幫助將不勝感激。

感謝, - 沃什

回答

1

嗯......你爲什麼要在代碼中創建一個FileAppender?只需使用指定字符串的LoggerFactory創建一個記錄器(通常以您在log4j XML/properties文件中配置的com.xxx.yyy格式)並開始記錄。確保記錄器配置爲在配置文件中使用FileAppender實現(Daily或RollingFile),並且您都已設置好了。

+0

感謝您的信息。 你說的話很有道理。我試過了,現在我確實看到嘗試登錄該文件,但消息本身未被記錄。我注意到試圖登錄的原因是我使用的PatternLayout的ConversionPattern爲<%d > 因此,新的日期被添加到文件中,但數據本身丟失。你以前見過這種行爲嗎? 謝謝, -VAS – user220201 2009-11-27 23:33:22

+0

這是我的log4j.xml文件 - \t <附加器名稱= 「LogTest」 \t \t類= 「org.apache.log4j.RollingFileAppender進行」> \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t <優先級值= 「調試」> \t \t \t user220201 2009-11-27 23:52:46