是否可以在Sun JVM中執行垃圾收集器日誌的滾動?在java中滾動垃圾收集器日誌
目前我生成日誌使用:
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -verbose:gc -Xloggc:gc.log
但我不得不使用FIFO隊列和rotatelogs創造每一天的新日誌手動旋轉它們。我希望有更好的解決方案。
也許有辦法從java內部訪問這個日誌條目,所以我可以將它們重定向到log4j?
編輯:與FIFO隊列的解決方案是不夠的,因爲如果從這個隊列中讀取的過程中(如rotatelogs)讀取慢會拖慢整個JVM(顯然太陽/ Oracle 10g中,GC日誌同步)
您的解決方案對我來說聽起來很不錯;你不喜歡它什麼?您有託管:輪換髮生在您的Java調用(它配置日誌記錄)附近,而不是在應用程序代碼中(應該忘記日誌記錄)。 – 2010-09-29 13:49:52
另外我的直覺會說不,不可能,或者如果可能的話,它會通過一個私人的,有限的API,你可能不想強制進入你的應用程序。 – 2010-09-29 13:52:28
-XX:+ PrintGCDateStamps不適用於java5? – 2011-02-23 21:54:52