python日志过滤器

python日志过滤器,python,python-3.x,Python,Python 3.x,我真的对日志中的过滤器感到困惑。我已经阅读了文档和日志食谱。 我有一个用几个文件编写的应用程序。每个文件都有一个类及其异常。 -主文件:mcm -在mcm中,我导入配置器并启动其类 -在configurator中,我导入rosApi并初始化它的类 我想要达到的目标: -在主文件中,确定要记录的模块及其级别。 -一个处理所有。可在主文件中配置 我的想法是,我想在一个文件中打开和关闭给定模块的调试,每个运行时可以自定义,并将选项传递到主文件 例如: 如果我通过-d,它将(另外)打印来自configu

我真的对日志中的过滤器感到困惑。我已经阅读了文档和日志食谱。
我有一个用几个文件编写的应用程序。每个文件都有一个类及其异常。
-主文件:mcm
-在mcm中,我导入配置器并启动其类
-在configurator中,我导入rosApi并初始化它的类

我想要达到的目标:
-在主文件中,确定要记录的模块及其级别。
-一个处理所有。可在主文件中配置

我的想法是,我想在一个文件中打开和关闭给定模块的调试,每个运行时可以自定义,并将选项传递到主文件

例如:
如果我通过-d,它将(另外)打印来自configurator的所有调试信息,但不会打印rosApi。

如果我通过-D,它将从configurator和rosApi打印所有调试,我要做的是创建一个记录器模块,大致如下:

import os
import logging

logger = logging.getLogger()
fh = logging.handlers.RotatingFileHandler(logfile, maxBytes=10000000, backupCount=10)
fm = logging.Formatter('%(asctime)s %(module)s %(levelname)s %(message)s')
fh.setFormatter(fm)
logger.addHandler(fh)
level = os.environ['LOGGING'].upper()
level = getattr(logging, level)
logging.getLogger().setLevel(level)

然后,我在所有模块的顶部执行导入日志程序。

我所做的是创建一个日志程序模块,大致如下:

import os
import logging

logger = logging.getLogger()
fh = logging.handlers.RotatingFileHandler(logfile, maxBytes=10000000, backupCount=10)
fm = logging.Formatter('%(asctime)s %(module)s %(levelname)s %(message)s')
fh.setFormatter(fm)
logger.addHandler(fh)
level = os.environ['LOGGING'].upper()
level = getattr(logging, level)
logging.getLogger().setLevel(level)

然后,我在所有模块的顶部执行一个导入日志程序。

您应该给出您尝试过的示例。您应该给出您尝试过的示例。