【发布时间】:2020-10-10 09:42:55
【问题描述】:
一些简单的代码来说明我的问题:
/src
-- t1.py
-- t2.py
-- test.py
test.py
import logging
import t1
import t2
def main():
# I need to set logging level for each module, so can't call logging.basicConfig
# logging.basicConfig(level=logging.DEBUG)
t1.foo()
t2.foo2()
if __name__ == "__main__":
main()
t1.py
import logging
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
def foo():
logger.info('foo log message')
t2.py
import logging
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
def foo2():
logger.info('foo2 log message')
当我运行python3 test.py 时,我不会得到日志。但是如果我在 test.py 中调用logging.basicConfig(level=logging.DEBUG),我会得到日志。
那我做错了什么?
---更新---
我可以添加到我得到的答案是根记录器的默认级别是“警告”。所以我没有得到任何输出。
【问题讨论】:
-
您仍然可以使用 test.py 中的
logging.basicConfig来创建标准处理程序。logger.setLevel除此之外还可以在模块文件中使用。 -
@Wups 确实!!谢谢!!
标签: python python-3.x logging