如何从Python中的logging.formatter对象获取格式化程序字符串? 您所在的位置:网站首页 logger方法 如何从Python中的logging.formatter对象获取格式化程序字符串?

如何从Python中的logging.formatter对象获取格式化程序字符串?

2023-03-10 09:39| 来源: 网络整理| 查看: 265

嗨,我想做一个日志管理员gui.基本上我想得到记录器的树形结构,并在pyqt gui中显示它们的级别和格式化程序.如何从与处理程序对象关联的格式化程序中获取格式字符串?

例如:

import logging _logger = logging.getLogger('myLogger') ch = logging.StreamHandler() ch.setLevel(logging.INFO) formatter = logging.Formatter('%(name)s:%(levelname)s: %(message)s') ch.setFormatter(formatter) _logger.addHandler(ch) _logger.propagate=0

现在我有_logger,如何从logging.Formatter对象中获取字符串'%(name)s:%(levelname)s:%(message)s'?

>>> _logger.handlers[0] >>> _logger.handlers[0].formatter

Martijn Piet.. 12

logging.Formatter实例有一个_fmt属性:

>>> _logger.handlers[0].formatter >>> _logger.handlers[0].formatter._fmt '%(name)s:%(levelname)s: %(message)s'

您始终可以使用dir()和vars()在对象上查看可用的名称:

>>> vars(_logger.handlers[0].formatter) {'datefmt': None, '_fmt': '%(name)s:%(levelname)s: %(message)s'}

或者您可以查看源代码(从模块文档的顶部链接).

1> Martijn Piet..:

logging.Formatter实例有一个_fmt属性:

>>> _logger.handlers[0].formatter >>> _logger.handlers[0].formatter._fmt '%(name)s:%(levelname)s: %(message)s'

您始终可以使用dir()和vars()在对象上查看可用的名称:

>>> vars(_logger.handlers[0].formatter) {'datefmt': None, '_fmt': '%(name)s:%(levelname)s: %(message)s'}

或者您可以查看源代码(从模块文档的顶部链接).



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有