Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python模块覆盖的日志记录设置_Python_Logging - Fatal编程技术网

Python模块覆盖的日志记录设置

Python模块覆盖的日志记录设置,python,logging,Python,Logging,对于如何最好地在Python应用程序中设置日志,我有点困惑 我使用的是IBPy模块,其中包含: 我的应用程序由一堆导入Jupyter笔记本的文件组成。最终执行在笔记本内进行 目前,其他模块在“调试”级别启动,我的笔记本上充满了警告 在模块级配置日志记录的正确方法是什么?IBPy似乎没有遵循建议的做法-库不应该配置日志记录,只有应用程序应该配置日志记录。IBPy是否真正配置了日志记录?还是我做错了什么?我可以在不编辑模块本身的情况下重新配置它的日志记录吗(假设它是外部的)basicConfig()

对于如何最好地在Python应用程序中设置日志,我有点困惑

我使用的是IBPy模块,其中包含:

我的应用程序由一堆导入Jupyter笔记本的文件组成。最终执行在笔记本内进行

目前,其他模块在“调试”级别启动,我的笔记本上充满了警告


在模块级配置日志记录的正确方法是什么?

IBPy
似乎没有遵循建议的做法-库不应该配置日志记录,只有应用程序应该配置日志记录。IBPy是否真正配置了日志记录?还是我做错了什么?我可以在不编辑模块本身的情况下重新配置它的日志记录吗(假设它是外部的)
basicConfig()
行表明它可以。您可以重新配置它的日志记录,但根据它所做的,您可能无法完全避免其输出。这是因为它在日志记录方面表现不好。
eyed3
库也是如此。我想知道这方面的解决方法。
IBPy
似乎没有遵循建议的做法-库不应该配置日志记录,只有应用程序应该这样做。IBPy实际配置日志记录了吗?还是我做错了什么?我可以在不编辑模块本身的情况下重新配置它的日志记录吗(假设它是外部的)
basicConfig()
行表明它可以。您可以重新配置它的日志记录,但根据它所做的,您可能无法完全避免其输出。这是因为它在日志记录方面表现不好。
eyed3
库也是如此。我想知道一个解决办法。
import logging
import os  

format = '%(asctime)s %(levelname)-9.9s %(message)s'

datefmt = '%d-%b-%y %H:%M:%S'

##
# Default log level.  Set IBPY_LOGLEVEL environment variable to
# change this default.
level = int(os.environ.get('IBPY_LOGLEVEL', logging.DEBUG))


def logger(name='ibpy', level=level, format=format,
               datefmt=datefmt):
    logging.basicConfig(level=level, format=format, datefmt=datefmt)
    return logging.getLogger(name)