• python自动化测试-D10-学习笔记之二(Python–logging模块)


    我们在写程序的时候经常会打一些日志来帮助我们查找问题,这次学习一下logging模块,在python里面如何操作日志。
    介绍一下logging模块,logging模块就是python里面用来操作日志的模块,logging模块中主要有4个类,分别负责不同的工作:

    Logger 记录器,暴露了应用程序代码能直接使用的接口;简单点说就是一个创建一个办公室,让人在里头工作 

    Handler 处理器,将(记录器产生的)日志记录发送至合适的目的地;这个简单点说就是办事的人,你可以指定是让在控制输出日志,还是在文件里面打印日志,常用的有4种: 

                    StreamHandler 控制台输出 

                    FileHandler 文件输出

                    下面两种需要导入

                            handlers
                            from logging import handlers 

                            TimedRotatingFileHandler 按照时间自动分割日志文件 

                            RotatingFileHandler 按照大小自动分割日志文件,一旦达到指定的大小重新生成文件 

                    Filter
    过滤器,提供了更好的粒度控制,它可以决定输出哪些日志记录。(不常用) 

                    Formatter
    格式化器,指明了最终输出中日志记录的布局。指定输出日志的格式

    '''
    Python–logging模块
    # logging.debug('debug级别,最低级别,一般开发人员用来打印一些调试信息')
    # logging.info('info级别,正常输出信息,一般用来打印一些正常的操作')
    # logging.warning('waring级别,一般用来打印警信息')
    # logging.error('error级别,一般用来打印一些错误信息')
    # logging.critical('critical级别,一般用来打印一些致命的错误信息')
    日志级别:debug<info<warning<error<critical
    日志打印的时候,只能打印level定义的级别以上的级别信息
    '''
    import logging
    from logging import handlers
    #只在控制台打印日志
    logging.basicConfig(level=logging.ERROR,#控制台打印的日志级别
    format='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'
    #日志格式,日志时间,日志路径,日志行数,日志级别,日志信息
    )
    logging.debug('我是debug')
    logging.info('我是info')
    logging.warning('我是warning')
    logging.error('我是error')
    logging.critical('我是critical')

    上面的只是在控制台打印日志,并没有把日志写在文件里面,一般我们都会把日志写在日志文件里面,也很简单,只需要加个参数指定文件名就行了。

    
    
    

    加上文件名之后就会发现控制台不会输出日志了,日志文件也产生了,那么如何既在控制台输出日志,也在文件中写入呢?

    怎么实现呢,就得有个办公室,里面塞俩人,一个给负责往控制台输出日志,一个负责写文件,你把他俩往办公室一塞,他俩就能干活了。

  • 相关阅读:
    接口类和抽象类
    生成器和迭代器
    装饰器
    KMP算法(java,c++)
    java EE
    XML
    SQL语法
    单元测试
    JDBC
    SpringCloud
  • 原文地址:https://www.cnblogs.com/blackbird0423/p/8543810.html
Copyright © 2020-2023  润新知