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

    这个模块是打印日志使用的,封装自动化测试环境时用来输入log日志使用

    import logging
    from logging import handlers
    class Logger(object):
    level_relations = {
    'debug': logging.DEBUG,
    'info': logging.INFO,
    'warning': logging.WARNING,
    'error': logging.ERROR,
    'crit': logging.CRITICAL
    }

    def __init__(self,filename,level='debug',
    when='s',
    back_count=3,
    fmt='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'
    ):
    self.logger = logging.getLogger(filename)
    #先创建一个logger对象,相当于这个办公室
    format_str = logging.Formatter(fmt)
    #指定日志格式,我也不知道啥意思,fmt写法是我搬运来的
    self.logger.setLevel(self.level_relations.get(level))
    #设置日志级别
    sh = logging.StreamHandler()
    #创建一个控制台输出的处理器
    sh.setFormatter(format_str)
    #设置处理器的日志格式
    th = handlers.TimedRotatingFileHandler(filename=filename, when=when, backupCount=back_count, encoding='utf-8')
    #指定时间间隔自动生成文件的处理器
    #backupCount是备份文件的个数,如果超过这个个数,就会自动删除
    #when是时间间隔,单位有S(秒)M(分)H(小时)D(天)W(每星期,inerval==0是代表星期一)midnight(每天凌晨)
    th.setFormatter(format_str)
    #设置处理器的日志个事
    self.logger.addHandler(sh)
    self.logger.addHandler(th)
    #把两个handler加入容器头,相当于把工作人员培训完可以上岗了

    if __name__ == '__main__':
    log = Logger('test.log')



  • 相关阅读:
    Gradle 3.0 + 打包android module 为aar
    Android SELinux
    Mac OS X 修改文件创建时间、修改时间 + zip 过滤临时文件
    Android 应用运行期间系统配置(系统语言、字体大小等)改变引发的问题修改
    Docker 指令
    Ubuntu-spark安装
    Highcharts 二种导出方式
    使用Storyboard 创建ViewController
    数据持久化-Plist
    模拟器常用快捷键
  • 原文地址:https://www.cnblogs.com/mpp0905/p/8609672.html
Copyright © 2011-2022 走看看