0
我正在閱讀Python中的記錄器,並與logging.basicConfig()方法混淆。正如python文檔中提到的那樣,它爲root logger設置了許多配置,這是否意味着它只爲root logger設置配置,或者它是否也爲用戶創建的logger設置配置?logging.basicConfig做了什麼?
另一個疑問是,無論何時我們創建一個用戶定義的記錄器,它是否會成爲根記錄器的子記錄器?
我正在閱讀Python中的記錄器,並與logging.basicConfig()方法混淆。正如python文檔中提到的那樣,它爲root logger設置了許多配置,這是否意味着它只爲root logger設置配置,或者它是否也爲用戶創建的logger設置配置?logging.basicConfig做了什麼?
另一個疑問是,無論何時我們創建一個用戶定義的記錄器,它是否會成爲根記錄器的子記錄器?
要回答你的第二個部分:
# Pass no arguments to get the root logger
root_logger = logging.getLogger()
# This logger is a child of the root logger
logger_a = logging.getLogger('foo')
# Configure logger_a here e.g. change threshold level to logging.DEBUG
# This is a child of logger_a
logger_b = logging.getLogger('foo.bar')
兩個logger_a
和logger_b
是用戶定義的,但只有logger_a
將繼承root_logger
默認配置。如果,字裏行間4 &上述的6,你可以配置logger_a
所以,它有不同的設置來root_logger
,logger_b
將默認爲logger_a
的設置,而不是root_logger
的,因爲它是直接後裔logger_a
,而不是root_logger
。
感謝您回答這個問題。 –