1
如果我以某種方式(方法(info,warn,debug ...),當在單獨的線程中執行時調用該方法來實現日誌類或庫),我的代碼運行速度會更快嗎?如果我使用單獨的線程進行日誌記錄,它會更好嗎?
如果是的話,slf4j,log4j或任何其他流行的庫是否這樣做?
如果我以某種方式(方法(info,warn,debug ...),當在單獨的線程中執行時調用該方法來實現日誌類或庫),我的代碼運行速度會更快嗎?如果我使用單獨的線程進行日誌記錄,它會更好嗎?
如果是的話,slf4j,log4j或任何其他流行的庫是否這樣做?
Log4j根據Appender類型使用單獨的線程。在大多數情況下使用FileAppender,並且不涉及其他線程。
我不建議你在單獨的線程中使用日誌記錄,除非你真的有線程問題的經驗。
1)是的。 2)是的。 –
謝謝!我不知道:S –
顯然,唯一可能的答案是「它取決於」。而且,對於任何形式的異步日誌記錄來說,值得深思的是,在應用程序崩潰的情況下,尚未寫入的消息會發生什麼(以及導致崩潰的消息是否有助於計算出什麼出錯)。 – NPE