2016-08-30 62 views
0

我正在閱讀Python中的記錄器,並與logging.basicConfig()方法混淆。正如python文檔中提到的那樣,它爲root logger設置了許多配置,這是否意味着它只爲root logger設置配置,或者它是否也爲用戶創建的logger設置配置?logging.basicConfig做了什麼?

另一個疑問是,無論何時我們創建一個用戶定義的記錄器,它是否會成爲根記錄器的子記錄器?

回答

1

要回答你的第二個部分:

# 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_alogger_b是用戶定義的,但只有logger_a將繼承root_logger默認配置。如果,字裏行間4 &上述的6,你可以配置logger_a所以,它有不同的設置來root_loggerlogger_b將默認爲logger_a的設置,而不是root_logger的,因爲它是直接後裔logger_a,而不是root_logger

+0

感謝您回答這個問題。 –