0
我使用python模块logging
来生成日志文件和控制台打印。 我设置了我的脚本来记录所有错误级别,没有DEBUG文件。 但我设置处理控制台打印的麻烦。在控制台上,我想要显示INFO
和以下的级别,而不是像setLevel
这样做。有没有办法用内联的代码做到这一点?Python - 日志记录和级别
我使用python模块logging
来生成日志文件和控制台打印。 我设置了我的脚本来记录所有错误级别,没有DEBUG文件。 但我设置处理控制台打印的麻烦。在控制台上,我想要显示INFO
和以下的级别,而不是像setLevel
这样做。有没有办法用内联的代码做到这一点?Python - 日志记录和级别
我不确定您的意思是“内联代码”,但您可以使用过滤器来实现此目的。
class InfoAndLower(logging.Filter):
def filter(self, record):
return record.levelno <= logging.INFO
然后将过滤器实例附加到您的控制台处理程序。
h = logging.StreamHandler(sys.stdout)
h.addFilter(InfoAndLower())
在Python 3.2和更高版本,你不需要创建一个类 - 一个调用就可以了:
h.addFilter(lambda record: record.levelno <= logging.INFO)
http://stackoverflow.com/questions/1383254/logging-streamhandler-标准流可能会帮助完整。 – 2011-05-21 08:05:23