Python 如何根据scrapy中日志项的来源有选择地设置日志级别?

Python 如何根据scrapy中日志项的来源有选择地设置日志级别?,python,logging,scrapy,scrapy-spider,Python,Logging,Scrapy,Scrapy Spider,是否可以将[scrapy.core.engine]和[scrapy.extensions.logstats]的日志级别设置为“INFO”以及我的自定义记录器,并将所有其他设置设置为“WARNING”?我想这样做,以消除我的日志文件中的一些混乱 提前谢谢 编辑: 我试着按照回答中的描述做了以下工作: 不幸的是,由于某些原因,这不起作用。默认的“警告”级别不会应用于所有记录器,并且上面为记录器指定的级别似乎没有任何影响…显然,scrapy使用日志记录。您可以使用以下内容: import loggin

是否可以将[scrapy.core.engine]和[scrapy.extensions.logstats]的日志级别设置为“INFO”以及我的自定义记录器,并将所有其他设置设置为“WARNING”?我想这样做,以消除我的日志文件中的一些混乱

提前谢谢

编辑:

我试着按照回答中的描述做了以下工作:

不幸的是,由于某些原因,这不起作用。默认的“警告”级别不会应用于所有记录器,并且上面为记录器指定的级别似乎没有任何影响…

显然,scrapy使用日志记录。您可以使用以下内容:

import logging
for key in logging.Logger.manager.loggerDict:
    if "scrapy.core.engine" in key or "scrapy.extensions.logstat" in key:
        logging.getLogger(key).setLevel(logging.WARNING)
logging.basicConfig(level=logging.INFO)

我没有用scrapy测试它,但我用它来测试其他软件包。希望它能起作用。

这肯定会有帮助,但是,我无法在不干扰其他记录器的情况下实现它。当这样做的时候,其他伐木工人的水平变为零,我还不明白为什么。然而,我在编辑我的问题时探讨了一种不同的方法。非常感谢。
import logging
for key in logging.Logger.manager.loggerDict:
    if "scrapy.core.engine" in key or "scrapy.extensions.logstat" in key:
        logging.getLogger(key).setLevel(logging.WARNING)
logging.basicConfig(level=logging.INFO)