我有一個關於的logback的問題。復位的logback追加程序
短版
如果一個appender創建失敗(例如權限被拒絕),我該如何明確重新嘗試創建它時的權限問題得到解決。我正在使用XML配置。我想在不重新啓動我的過程的情況下執行此操作。
加長版
我使用的logback在Android(logback-android)。
我記錄到所述外部存儲器的目錄,這意味着,如果所述用戶將設備連接到PC,使大容量存儲,該目錄的文件系統將被卸載。
如果應用程序被啓動,而該目錄是不可用的,我告知用戶,但由於記錄器被定義爲靜態字段...
private static final Logger LOG = LoggerFactory.getLogger(MyApplication.class);
...的logback試圖反正創建的appender當我的類由類加載器加載並失敗時。
由於Android的工作原理,即使用戶離開我的應用程序的所有屏幕(例如轉到主屏幕),應用程序也會繼續運行,因此appender將永遠不會被重新嘗試創建。
有什麼辦法來重置從配置的附加目的地?如果是這樣,每當用戶進入我的應用程序的初始屏幕時,我可以嘗試重新設置Logback。
我嘗試使用,以阻止它......
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
if (loggerContext != null)
loggerContext.stop();
...這似乎很好地工作,但我似乎不能夠重新啓動它:
loggerContext.start()
這似乎並沒有重新創建的appender。
很多感謝的幫助。