2

我真的对日志中的这个过滤器感到困惑。我已阅读文档和日志记录食谱。
我有一个用几个文件编写的应用程序。每个文件都有一个类及其例外。
- 主文件:mcm
- 在 mcm 中我导入配置器并启动它的类
- 在配置器中我导入 rosApi 并启动它的类

我想要实现的目标:
- 在主文件中,决定我要记录哪些模块及其级别。
- 一个处理程序。可在主文件中配置

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

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

4

1 回答 1

0

我所做的是创建一个记录器模块,类似于以下内容:

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 logger在所有模块的顶部做一个。

于 2012-07-05T18:34:03.373 回答