从自定义模块中的导入模块禁用记录器

时间:2018-08-10 20:23:25

标签: python logging

我通常在 main.py 中定义记录器,然后在所有其他自定义模块和类中使用相同的格式。

但是,由于我在 MyClass 中导入了 discovery 模块,所以我得到了很多不需要的日志。如何在保留所有其他日志的同时仅禁用发现日志?

我尝试过

main.py

import logging 
import MyClass

logging.basicConfig(level = logging.INFO, format = '%(asctime)s:%(levelname)s:%(module)s:%(message)s') 
logger = logging.getLogger(__name__)

myc = MyClass.MyClass()
myc.do_something()

MyClass.py

import logging
from googleapiclient import discovery

class MyClass(object):

    def __init__(self):

        self.logger = logging.getLogger(__name__)

def do_something(self):
    # code using discovery

在导入日志记录和发现之后,我尝试将其添加到 MyClass 中,但没有帮助:

logging.getLogger('discovery').setLevel(logging.WARNING)

这些是我要清除的日志:

  

2018-08-10 16:11:11,702:INFO:发现:请求的URL:GET   https://www.googleapis.com/discovery/v1/apis/drive/v3/rest 2018-08-10   16:11:11,800:INFO:discovery:请求的网址:GET   https://www.googleapis.com/drive/v3/teamdrives?alt=json

0 个答案:

没有答案