我有一個測試程序(我沒有寫),這是一個非常奇怪的錯誤,這隻發生在一些時間。在程序包含測試報告一個字符串的末尾是輸出利用Java log4j並不總是記錄最後一行
logger.warn(reportString);
Anywhere的1/10至1/3的嘗試(其變化)沒有顯示該字符串,但一切之前,它是。 在此之前,我添加了這一行以確保字符串始終正確創建,這是因爲每次都會給出相同的長度。
logger.info("Length: " + reportString.length());
要試驗我加入後,另一日誌行,所以在節目的最後,現在看起來是這樣的:
logger.info("Length: " + reportString.length());
logger.warn(reportString);
logger.info("REACHED END OF PROGRAM");
當這樣的reportString似乎總是要打印/記錄,但「已達到程序結束「字符串僅在約50%的時間內打印/記錄。也許這是我的Windows命令提示符?我知道這是一個非常模糊的問題,但如果任何人有任何想法,他們將不勝感激。
聽起來像它可能是一個線程問題。線程問題,你不在某處調用join。 –
線程在程序中使用,所以我會檢查出來。謝謝。 – KingJustinian