我正在使用JUL進行日誌記錄(不,我不能改變它)。我開發了一個簡單的包裝器,它傳遞參數,並且每次都以正確的格式創建FileHandler,這樣我就不必在每個項目中重新創建日誌記錄。Java FileHandler將不需要的數字添加到文件名
我的測試應用程序的功能與預期完全一樣,但是當我將庫導入其他項目時,我似乎正在獲得一個(迄今爲止只有一個)唯一錯誤:每次都會在末尾添加一個「.0」的日誌文件。
它甚至在沒有衝突的情況下執行此操作,並且Filehandler已被配置爲將現有文件附加到最後(它沒有問題)。我玩過各種文件名,最近我一直在使用簡單的「mylog.log」,日誌文件仍然以「mylog.log.0」的形式輸出。我已經檢查並且fileHandler正在傳遞正確的文件(「mylog.log」),但它不會在那裏記錄。
這不會發生在我的測井測試中,只發生在我真正想要使用它的項目中。即使使用完全相同的參數,我也會得到不同的文件名。
有沒有關於JUL的一些古怪,我錯過了?代碼非常簡單。培訓相關代碼:
String logFilePath = directory+name; // directory and name are method arguments
Handler newFileHandler;
File dirFile = new File(directory);
if(!dirFile.exists())
{
dirFile.mkdirs();
}
newFileHandler = new FileHandler(logFilePath, true);
newFileHandler.setFormatter(myformatter);
//... etc