我用python脚本(myscript.py)制作了一个记录器,
logfmt = '[%(asctime)s]{%(filename)s:%(lineno)d}[%(levelname)s] %(message)s'
datefmt = '%Y-%m-%dT%H:%M:%S'
formatter = logging.Formatter(logfmt, datefmt=datefmt)
logging.basicConfig(level=logging.DEBUG, format=logfmt, datefmt=datefmt)
logger = logging.getLogger(name='mine')
在信息层面,它看起来还可以。但在调试级别,奇怪的是matplotlib打印它的日志,其中显示了它导入的很长的模块列表。如何防止它并仅打印脚本的日志?
[2021-07-27T11:53:48]{myscript.py:183}[INFO] ...
[2021-07-27T11:53:48]{__init__.py:224}[DEBUG] matplotlib data path: /home/user/anaconda3/lib/python3.8/site-packages/matplotlib/mpl-data
[2021-07-27T11:53:48]{__init__.py:224}[DEBUG] CONFIGDIR=/home/user/.config/matplotlib
[2021-07-27T11:53:48]{__init__.py:1394}[DEBUG] matplotlib version 3.4.2
[2021-07-27T11:53:48]{__init__.py:1395}[DEBUG] interactive is False
[2021-07-27T11:53:48]{__init__.py:1396}[DEBUG] platform is linux
[2021-07-27T11:53:48]{__init__.py:1397}[DEBUG] loaded modules: ['sys', 'builtins', '_frozen_importlib', '_imp', '_warnings', '_frozen_importlib_external', '_io', 'marshal', 'posix', '_thread', '_weakref', 'time', 'zipimport', '_codecs', 'codecs', 'encodings.aliases', 'encodings', 'encodings.utf_8', '_signal', '__main__', 'encodings.latin_1', '_abc', 'abc', 'io', '_stat', 'stat', '_collections_abc',
... very only list ...
'cycler', 'matplotlib.rcsetup', 'matplotlib._version', 'matplotlib.ft2font', 'kiwisolver', 'dateutil.rrule', 'matplotlib.units', 'matplotlib.dates']
[2021-07-27T11:53:48]{myscript.py:351}[INFO] ...
3条答案
按热度按时间gj3fmq9x1#
获取所使用的记录器
matplotlib
,然后覆盖其日志级别:如果您想知道我是如何找到日志文件名的,请检查如何使用python.logging模块列出所有现有的日志文件
matplotlib
logger(与模块和包的名称恰好相同,但不必如此)。zsohkypk2#
没有一个设置来尝试这个,希望仍然有效。在日志配置之后添加:
jtoj6r0c3#
只需将matplotlib的日志级别设置为“info”,请参见https://matplotlib.org/stable/_modules/matplotlib.html#set_loglevel