我正在学习使用Python登录,但我不明白为什么可以像这样初始化日志:
logging.basicConfig(level=logging.INFO)
不需要像:
l_instance = logging.basicConfig(level=logging.INFO)
类似于CSV的用途:
c_instance = csv.reader()
答案 0 :(得分:1)
让我们来看看这个问题的源代码。它的作用是暗示向root添加处理程序:
_acquireLock()
try:
if len(root.handlers) == 0:
filename = kwargs.get("filename")
if filename:
mode = kwargs.get("filemode", 'a')
hdlr = FileHandler(filename, mode)
else:
stream = kwargs.get("stream")
hdlr = StreamHandler(stream)
fs = kwargs.get("format", BASIC_FORMAT)
dfs = kwargs.get("datefmt", None)
fmt = Formatter(fs, dfs)
hdlr.setFormatter(fmt)
root.addHandler(hdlr)
level = kwargs.get("level")
if level is not None:
root.setLevel(level)
finally:
_releaseLock()
所以一个原因是该方法返回None
:D
现在,看看你是否致电getLogger
方法:
if name:
return Logger.manager.getLogger(name)
else:
return root
你可以看到它返回了这个创建的根。同样的事情适用于debug
的其他方法:
def debug(msg, *args, **kwargs):
"""
Log a message with severity 'DEBUG' on the root logger.
"""
if len(root.handlers) == 0:
basicConfig()
root.debug(msg, *args, **kwargs)
请参阅?它在root
上运作。 Pyton是开源的,你可以利用它;)