繁体   English   中英

记录器不推广到子模块

[英]logger doesn't propogate to children module

我有两个文件, a.pyb.py

这写在两个文件中:

import logging
import sys
logger = logging.getLogger(__name__)
logger.addHandler(logging.StreamHandler(sys.stdout))

现在,当我从导入的方法b.pya.py ,从方法日志b.py不显示在控制台上。

a.py调用就像b.method_name()

如何在控制台中也显示来自b.py日志?

给定a.py

import logging
import sys
import b


logger = logging.getLogger(__name__)
logger.addHandler(logging.StreamHandler(sys.stdout))


def bar():
    logger.error("bar error")
    logger.info("bar info")
    logger.warning("bar warnign")

bar()    
b.foo()

b.py

import logging
import sys
logger = logging.getLogger(__name__)
logger.addHandler(logging.StreamHandler(sys.stdout))

def foo():
    logger.error("foo error")
    logger.info("foo info")
    logger.warning("foo warnign")

我得到以下输出:

bar error
bar warnign
foo error
foo warnign

不确定文件的外观如何,但是默认情况下,在某些日志记录级别下,您不会看到消息(在这种情况下,您将看到的最低warning级别)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM