logging学习

一.logging.info()

默认级别warning

logging.info("%s 我们是冠军 %s", "yes", "!!!")


"""
    输出:INFO:root:yes 我们是冠军 !!!
"""

二.组件:记录器、处理器、过滤器和格式器

1.记录器logger

logger = logging.getLogger(__name__)
  • Logger.setLevel() 指定记录器将处理的最低严重性日志消息,其中 debug 是最低内置严重性级别, critical 是最高内置严重性级别。 例如,如果严重性级别为 INFO ,则记录器将仅处理 INFO 、 WARNING 、 ERROR 和 CRITICAL 消息,并将忽略 DEBUG 消息。

  • Logger.addHandler() 和 Logger.removeHandler() 从记录器对象中添加和删除处理器对象。处理器在以下内容中有更详细的介绍 处理器 。

  • Logger.addFilter() 和 Logger.removeFilter() 可以添加或移除记录器对象中的过滤器。 过滤器对象 包含更多的过滤器细节

  • logger.propagate = False

子记录器将消息传播到与其父级记录器关联的处理器。因此,不必为应用程序使用的所有记录器定义和配置处理器。一般为顶级记录器配置处理器,再根据需要创建子记录器就足够了。(但是,你可以通过将记录器的 propagate 属性设置为 False 来关闭传播。)

2.处理器handler

console_handler = logging.StreamHandler(stream=sys.stdout)    sys.stderr标准错误输出
file_handler = logging.FileHandler(filename=log_path, encoding="utf8")

logger.addHandler(console_handler)
logger.addHandler(file_handler)

 3.格式器

logging.Formatter.__init__(fmt=Nonedatefmt=Nonestyle='%')

如果没有消息格式字符串,则默认使用原始消息。如果没有日期格式字符串,则默认日期格式为:

%Y-%m-%d %H:%M:%S
fmt = "%(asctime)s %(name)s %(funcName)s %(process)d %(threadName)s %(levelname)s %(message)s  "
logging.Formatter.default_msec_format = '%s.%03d'    #输出毫秒格式
log_format = logging.Formatter(fmt=fmt)
console_handler.setFormatter(log_format)
file_handler.setFormatter(log_format)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值