• python--logging使用


    0. logging介绍

    0.1 日志等级:/debug/info/warning/error/critical,默认是warning,只监控warning以及之上的日志信息

    0.2 可以通过自定义设置等级,监控debug/info的日志信息

    1. 自定义日志收集器--logging模块默认的收集器对象是root

    1.1 创建日志收集器对象:my_log = logging.getLogger('Hyean') ----不传入参数,默认参数就是返回root

    1.2 设置收集器等级:my_log.setLevel("DEBUG")----设置等级的时候一定要大写!!,自定义收集器定义的时候,并不能输出debug/info 的日志到控制台,具体往下

    1.3 创建一个输出到控制台的输出渠道+绑定到日志收集器:

      1.3.1 创建输出渠道:sh = logging.StreamHandler()---------只有设置输入渠道的输出等级,才能输出想到的等级到控制台上!!

      1.3.2 绑定输出渠道:my_log.addHandler(sh)---绑定输出渠道到收集器上

    1.4 创建一个输出到文件的输出渠道+绑定到日志收集器:

      1.4.1 创建文件输出渠道:fh = logging.FileHandler("文件名",encoding)

      1.4.2 绑定文件输出渠道:my_log.addHandler(fh)

    1.5 设置日志输出格式

      1.5.1 创建一个输出格式:formatter =logging.Formatter('%(asctime)s - [%(filename)s-->line:%(lineno)d] - %(levelname)s: %(message)s')---可以自己设定格式

      1.5.2 绑定格式和输出渠道:fh.setFormatter(formatter)

    2. 日志轮转器

    2.1 按大小轮转

    · 导入模块:from logging.handlers import RotatingFileHandler

    · 创建输出渠道--按文件输出:

    eg: fh = RotatingFileHandler(filename=file_path, mode="a", maxBytes=1024*1024, backupCount=7, encoding="utf-8")
    参数:filename--输出文件名, mode='a'--打开文件模式, maxBytes=0--文件大小, backupCount=0--保存的日志文件数量, encoding=None, delay=False

    2.2 按时间轮转

    · 导入模块:from logging.handlers import TimedRotatingFileHandler

    · 创建输出渠道--按文件输出:

    eg: fh = TimedRotatingFileHandler(filename=file_path, when='d', interval=1, backupCount=24, encoding="utf-8")

    参数:filename--文件名, when='h'--日志轮转时间, interval=1---轮转时间间隔, backupCount=0---保存日志文件数量, encoding=None, delay=False, utc=False, atTime=None

    ——时间支持:# S - Seconds  # M - Minutes  # H - Hours  # D - Days   W{0-6} - roll over on a certain day; 0 - Monday

    厚积而薄发,越努力越幸运!
  • 相关阅读:
    Docker 容器测试全探索
    Terminix:基于 GTK3 的平铺式 Linux 终端模拟器
    五条强化 SSH 安全的建议
    LXD 2.0 系列(二):安装与配置
    (转)分享一个技巧,利用批处理调用ruby脚本(可能你为路径苦恼)
    泛型介绍(接上一篇,具体的事例随后呈上)
    看到他我一下子就悟了-- 泛型(1)
    EXTJS4 Grid Filter 插件的使用 与后台数据解析------Extjs 查询筛选功能的实现
    Extjs4.2 rest 与webapi数据交互----顺便请教了程序员的路该怎么走
    Extjs 项目中常用的小技巧,也许你用得着(3)
  • 原文地址:https://www.cnblogs.com/qhy-petrel/p/12145355.html
Copyright © 2020-2023  润新知