zoukankan      html  css  js  c++  java
  • 日志模块

    一、日志作用:记录程序的执行过程

    二、日志要素:

      1、日志渠道:日志的输出位置、文件、控制台

      2、日志级别:info、debug、error......

      3、日志格式:日志的样子,长啥样

      4、日志内容:自己输出的内容,或者是报错信息


    三、日志级别:从小到大,下一级别包含上一级别

      debug(代码调试的输出)   

      info(表示程序正常执行的输出)

      warning(不影响程序执行,可以优化的提示)

      error(程序执行报错)

      crcritical(程序存在严重问题)

    如何修改root收集器的日志级别:

    import logging
    
    logging.basicConfig(logging.DEBUG)  # 修改默认级别为debug级别

    四、日志收集器创建

    创建:

      1、创建日志收集器:创建和root一样的收集器

      # 第一步,创建日志收集器
      my_log = logging.getLogger("myLog")  # 创建名为myLog的日志收集器

      2、创建日志收集渠道:输出到哪里

      # 第二步,创建日志收集渠道
        file_log = handlers.TimedRotatingFileHandler(filename="python.log",when="D",encoding="utf-8")  # 创建文件渠道
        '''
        filename:日志文件名称,要带路径,默认是当前目录
        when='h':日志滚动周期的单位,有S秒,M分钟,H小时,D天(24小时制),W周,midnigt日切(以凌晨为界线)
        interval=1:日志滚动周期(日志切割周期),其中1代表1个when
        backupCount=0:日志保留的个数
        encoding=None:编码格式
        '''

      3、创建日志的格式:

        fmt = '[%(asctime)s - %(name)s - %(levelname)s - %(pathname)s - %(lineno)d]: - %(message)s'  # 自定义日志内容
        log_format = logging.Formatter(fmt)  # 创建日志格式

    绑定: 

      4、设置日志输出格式  

    file_log.setFormatter(log_format)  # 给渠道设置日志输出格式

      5、设置日志级别

    my_log.setLevel(logging.INFO)  # 给收集器设置日志级别

      6、收集器绑定渠道

    my_log.addHandler(file_log) # 收集器绑定渠道

    实现代码:

    import logging
    from logging import handlers
    
    def auto_log():
    
        # 第一步,创建日志收集器
        my_log = logging.getLogger("myLog")  # 创建名为myLog的日志收集器
    
        # 第二步,创建日志收集渠道
        pycharm = logging.StreamHandler()  # 创建日志收集渠道(这里是创建到pycharm控制台)
        file_log = handlers.TimedRotatingFileHandler(filename="python.log",when="D",encoding="utf-8")  # 创建文件渠道
        '''
        filename:日志文件名称,要带路径,默认是当前目录
        when='h':日志滚动周期的单位,有S秒,M分钟,H小时,D天(24小时制),W周,midnigt日切(以凌晨为界线)
        interval=1:日志滚动周期(日志切割周期),其中1代表1个when
        backupCount=0:日志保留的个数
        encoding=None:编码格式
        '''
    
        fmt = '[%(asctime)s - %(name)s - %(levelname)s - %(pathname)s - %(lineno)d]: - %(message)s'  # 自定义日志内容
        log_format = logging.Formatter(fmt)  # 创建日志格式
    
        pycharm.setFormatter(log_format)  # 给渠道设置日志输出格式
        file_log.setFormatter(log_format)
    
        my_log.setLevel(logging.INFO)  # 给收集器设置日志级别
    
        my_log.addHandler(pycharm)  # 收集器绑定渠道
        my_log.addHandler(file_log)
    
        return my_log
    
    # 实例化对象
    test_log = auto_log()
    
    test_log.info("test1111")

     

  • 相关阅读:
    2017年期末获奖名单
    2018-01-17作业
    3.2.4 条件表达式
    3.2.3if语句的嵌套2
    if嵌套语句--作业题
    软工第四次作业
    软工第五次作业-结对
    软工第三次作业
    软工第二次作业——数独
    软工实践2017年第一次作业
  • 原文地址:https://www.cnblogs.com/nanjo4373977/p/15063981.html
Copyright © 2011-2022 走看看