2012-09-11 104 views
0

我第一次使用log4j。 根據要求,我想在日誌文件中顯示文件的名稱(與日期顯示方式相同)。如何使用log4j在日誌文件中獲取文件名?

例如:

17:56:57,863 help INFO [STDOUT] PropertyHandler-If 

其中help我們哪裏PropertyHandler-If寫在log.debug()的文件名。

另外,我想對所有有關數據庫中的例外不同的日誌文件。 這可能嗎?

+0

爲什麼要在文件中存儲的文件的名稱?不是文件名稱的文件的名稱。 –

+0

選中此[帖子](http://www.tek-tips.com/viewthread.cfm?qid=1109220),它看起來與您的要求非常相似。 – basiljames

+0

OP希望得到_class_(或者類文件的名字,或許在那裏定義了幾個類),而不是_log file_的名字。 –

回答

1

可以定義多個追加程序(每個文件),並設置不同的記錄器使用不同的附加目的地。通過使用不同的日誌對象,您可以將這些對象指向不同的文件。例如單個組件可以有多個Log小號

1

您可以使用PatternLayout用「F」選項:「用於輸出,其中記錄請求發出的文件名」

由於@Peter Lawrey指出的那樣,你可以使用多個附加目的地,你的情況具體FileAppender它記錄數據庫。