zoukankan      html  css  js  c++  java
  • python logging记录日志的方式

    python的logging模块提供了标准的日志接口,可以通过它存储各种格式的日志,日志级别等级:critical > error > warning > info > debug
    
    import logging
    
    # 初始化日志配置
    
    logging.basicConfig(
    
        # 日志级别,logging.DEBUG,logging.ERROR
    
        level = logging.INFO,  
    
        # 日志格式
    
        # 时间、代码所在文件名、代码行号、日志级别名字、日志信息
    
        format = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
    
        # 打印日志的时间
    
        datefmt = '%a, %Y-%m-%d %H:%M:%S',
    
        # 日志文件存放的目录(目录必须存在)及日志文件名
    
        filename = 'e:/BddDataDriveRreport.log',
    
        # 打开日志文件的方式
    
        filemode = 'w'
    
    )
    
    
    logging.debug('test debug')
    logging.info('test info')
    
    logging.warning('test warning')
    
    logging.error('test error')
    logging.critical('test critical')
    
    
    文件输出结果:
    Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:36] INFO test info
    Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:38] WARNING test warning
    Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:40] ERROR test error
    Fri, 2019-04-19 11:07:23 py20190419_logging.txt[line:41] CRITICAL test critical

     2、一个简单的程序可调用的 logger生成方法:

    #参考其它文章
    import logging,os
    
    rdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #获取上级目录的绝对路径
    log_dir = rdir + '/log/record.log'
    def get_logger():
        fh = logging.FileHandler(log_dir,encoding='utf-8') #创建一个文件流并设置编码utf8
        logger = logging.getLogger() #获得一个logger对象,默认是root
        logger.setLevel(logging.DEBUG)  #设置最低等级debug
        fm = logging.Formatter("%(asctime)s --- %(message)s")  #设置日志格式
        logger.addHandler(fh) #把文件流添加进来,流向写入到文件
        fh.setFormatter(fm) #把文件流添加写入格式
        return logger
  • 相关阅读:
    Android开发-API指南-<uses-configuration>
    Android开发-API指南-<supports-screens>
    Android开发-API指南-<supports-gl-texture>
    Android开发-API指南-<service>
    Android开发-API指南-<receiver>
    Android开发-API指南-<provider>
    Android开发-API指南-<permission-tree>
    maven scope 以及依赖传递
    转发和重定向
    Apache
  • 原文地址:https://www.cnblogs.com/xiaoxiao075/p/10734721.html
Copyright © 2011-2022 走看看