• 日志模块


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

    二、日志要素:

      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")

     

  • 相关阅读:
    WinSCP 与 Putty 中文显示乱码解决方法
    centos 6.2上oracle 11g的远程安装
    CentOs 6.3_64静默安装oracle11g_r2
    IP地址修改后ORACLE不能使用问题
    linux查看本机IP、gateway、dns
    linux启动SSH及开机自动启动
    linux下如何从自动获取ip转到手动配置ip
    Linux系统(CentOS 6.4)的NTFS驱动NTFS3g的安装和配置
    正则表达式——去除文本中的非汉字(VB2005)
    遍历排列的实现——VB2005
  • 原文地址:https://www.cnblogs.com/nanjo4373977/p/15063981.html
Copyright © 2020-2023  润新知