2008-09-15 81 views
2

我有一個巨大的耳朵,它使用log4j,並且有一個配置文件用於設置它。在這個配置文件中沒有提到某些日誌文件,但除了配置文件中指定的文件以外的其他文件會在日誌文件夾中生成。我搜索了(logger | log4j | log)。(properties | xml)的其他組合,並且沒有在耳朵中包含的所有jar文件中找到任何有希望的東西。如何追蹤哪些是創建這些額外文件的冒犯線程/類?追蹤文件句柄

+0

你正在運行什麼應用服務器?什麼文件正在創建? – sblundy 2008-09-15 18:09:02

+0

WAS 6.1除了appName-(error | info | debug).log還有error.log和debug.log – shyam 2008-09-15 18:10:56

+0

嗯,你可能想用`websphere`&`was`來標記你的帖子。看看那些專家是否有任何建議。 – sblundy 2008-09-15 18:15:34

回答

3

嘗試在File類的構造函數和mkdir和createNewFile方法中放置一個斷點。通常,代碼將使用File類創建其文件或目錄。您應該擁有JVM附帶的這些類的Java源代碼。

0

Sysinternals的可能與Java類IO幫助。嘗試在寫入這些日誌時獲取JVM的線程轉儲(例如,kill -3)。您應該能夠在堆棧跟蹤頂部附近捕捉到一個紅色的java.io包。

3

-Dlog4j.debug添加到命令行中,標準輸出中會有額外的信息來說明它的配置方式。