zoukankan      html  css  js  c++  java
  • python学习之logging模块

    Logger.setLevel(level)

    设置记录器的级别为level。低于该级别的信息将被忽略。

    记录器默认级别为NOTSET。如果记录器是根记录器,则默认将记录所有信息;

    如果是一个非根记录器,默认会沿着一个“链”向上寻找,直到找到一个级别为非NOTSET为止,并把该记录器级别作为自己的级别;

    如果到达根记录器还没找到级别为非NOTSET的记录器,则所有信息被记录。

    注意使用WARNING级别创建根记录器。

    logging.getLogger(name=None)

    生成一个指定名称的记录器。名称为“.”分隔的形式,如'a','a.b'或'a.b.c.d'。

    如果名称为None,则生成一个根记录器。

    class logging.StreamHandler(stream=None)

    StreamHandler类将记录输出发送到诸如sys.stdout,sys.stderr或任何类似文件的对象(或更准确地说,任何支持write()和flush()方法的对象) 。

    返回StreamHandler类的新实例。如果指定了流,则实例将使用它来记录输出;否则,将使用sys.stderr

    class logging.Formatter(fmt=None,datefmt=None,style='')

    返回Formatter类的新实例。

    fmt为消息字符串,datefmt为日期/时间字符串。

    如果没有指定fmt,则使用'%(message)'。如果没有指定datefmt,则使用ISO8601日期格式。

    style参数可以是'%','{'或'$'之一,用于确定格式字符串如何与其数据合并。

    常用的fmt和datefmt如下:

    frm = '%(levelname)-.3s [%(asctime)s.%(msecs)03d] thr=%(_threadid)-3d %(name)s: %(message)s'
    '%Y%m%d-%H:%M:%S'

    注:上表是格式化样式。

    Handler.setFormatter(表格)

    设置格式。

    Logger.addHandler(hdlr)

    将指定的处理程序hdlr添加到此记录器。

    一个完整的例子

        l = logging.getLogger("paramiko")
        if len(l.handlers) > 0: #handlers为处理程序的集合,列表类型
            return
        l.setLevel(level)
        f = open(filename, 'a') #a表示以追加模式打开
        lh = logging.StreamHandler(f) 
        frm = '%(levelname)-.3s [%(asctime)s.%(msecs)03d] thr=%(_threadid)-3d %(name)s: %(message)s' # noqa
        lh.setFormatter(logging.Formatter(frm, '%Y%m%d-%H:%M:%S'))
        l.addHandler(lh) 
  • 相关阅读:
    python 类函数
    scala 排序
    php基础-面向对象
    PHP基础-常用的数组相关处理函数
    PHP基础-PHP中预定义的超全局数组
    PHP基础-数组
    装饰器
    Python3.x 文件操作练习
    Python3.x 文件操作
    Python3 内置函数
  • 原文地址:https://www.cnblogs.com/leomei91/p/7610079.html
Copyright © 2011-2022 走看看