我在python中读取记录器并且与logging.basicConfig()方法混淆。正如python文档中提到的那样,它为root logger设置了许多配置,这是否意味着它只为root logger设置配置,或者它是否也为用户创建的记录器设置它?
另一个疑问是,每当我们创建用户定义的记录器时,它是否会成为root logger的子记录器?
答案 0 :(得分: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_a
和logger_b
都是用户定义的,但只有logger_a
才会继承root_logger
的默认配置。如果在第4行和第4行之间上述6,您要配置logger_a
,以便它与root_logger
具有不同的设置,logger_b
默认为logger_a
的设置,而不是{{ 1}},因为它是root_logger
的直接后代,而不是logger_a
。