這是由X.Jacobs提供的答案How to get non-blocking/real-time behavior from Python logging module? (output to PyQt QTextBrowser)的後續問題。將自定義處理程序添加到沒有記錄器實例的Python記錄模塊中?
在Python日誌記錄模塊中,添加自定義處理程序的常規方法是定義一個繼承自logging.Handler
(我們稱之爲CustomLogHandler
)的處理程序類。將其附加到logging
過程中,我們通常是這樣做:
import logging
class CustomLogHandler(logging.Handler):
... (some code here)...
logger = logging.getLogger()
logger.addHandler(CustomLogHandler)
其中addHandler
是logger
實例的方法。
問題:假設我們沒有想得到logger
(即我們不想上面做的)。是否可以附加CustomLogHandler
到logging
本身?
有關上下文的信息,請參閱How to get non-blocking/real-time behavior from Python logging module? (output to PyQt QTextBrowser)中的註釋。
前提是可以使用自定義處理程序,而不必參考logger
實例。
當你將'CustomLogHandler'附加到'logging'本身'時,你期望發生什麼? –
我期待使用'logging.error()'而不是'logger.error()'。 – Gilead
我不確定爲什麼這會被downvoted(無論它是誰) - 這個問題是合理的。給出的答案也是正確的。 – Gilead