gpt4 book ai didi

python - 如何在 Python 中的模块初始化时启用日志记录?

转载 作者:行者123 更新时间:2023-11-28 22:50:22 24 4
gpt4 key购买 nike

我有以下代码:

#! /usr/bin/python
import logging
import test_log

def main():
logging.error("hello")

if __name__ == '__main__':
logging.basicConfig()

main()

test_log 定义为:

import logging

_logger = logging.getLogger(__name__)
_logger.warn('initializing ' + __name__)

执行主脚本会导致输出:

No handlers could be found for logger "test_log"
ERROR:root:hello

我相信这是因为 import test_log 语句将执行 _logger = logging.getLogger(__name__); _logger.warn('initializing' + __name__),而此时logging.basicConfig没有执行。有办法解决吗?

最佳答案

如果您无法避免在导入时记录日志,请添加 NullHandler test_log 中记录器的实例。这将阻止“没有处理程序...”消息。

此外,您还调用了两次 basicConfig()。避免这种情况 - 只调用一次(在 if __name__ == '__main__' 中)。

关于python - 如何在 Python 中的模块初始化时启用日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22724290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com