python之logging模块

日志五个级别

DEBUG: debug()        
    调试信息,通常在诊断问题的时候用得着    
INFO: info()        
    普通信息,确认程序按照预期运行     
WARNING: warning()        
    警告信息,表示发生意想不到的事情,或者指示接下来可能会出现一些问题,
    但是程序还是继续运行    
ERROR: error()        
    错误信息,程序运行中出现了一些问题,一些功能没有执行    
CRITICAL: critical()        
    危险信息,一个严重的错误,导致程序无法继续运行
import logging

logging.debug('debug')
logging.info('info')
# 默认输出级别
logging.warning('warning')
logging.error('error')
logging.critical('critical')

WARNING:root:warning
ERROR:root:error
CRITICAL:root:critical

修改logging输出的默认级别

logging.basicConfig(level=logging.INFO)
logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')

logging信息保存到文件当中 就不输出了,直接保存到文件当中 (默认追加)

logging.basicConfig(level=logging.INFO,filename='logging_test.log')
logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')

logging信息保存到文件当中 就不输出了,直接保存到文件当中 (覆盖模式)

logging.basicConfig(level=logging.INFO,filename='logging_test.log',filemode='w')
logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')

日志信息格式化输出 %()

logging.basicConfig(level=logging.INFO, filename='logging_test.log', format='%(levelname)--s:%(asctime)s:%(message)s')
logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')

模块化组件

#1.日志记录器
# 调用getLogger方法创建日志记录器, 实例化一个日志记录器,并且命名为'test_logger
log = logging.getLogger('test_logger')

#2.日志处理器
logFileHandler = logging.FileHandler(filename='logging_test.log')

#3.过滤器
# 将处理器添加到log记录器
log.addHandler(logFileHandler)
#将格式器添加至日日志处理器
logFileHandler.setFormatter(format)
    """
    # 将日志信息发送到控制台
    logging.StreamHandler
    # 将日志信息写入到文件
    logging.FileHandler
    # 将日志信息发送到指定邮箱
    logging.SMTPHandler
    # 通过get或post将日志信息发送到服务器
    logging.HttpHandler
    """

#4.格式器
format = logging.Formatter('%(asctime)s:%(name)s:%(levelname)s:%(message)s', datefmt='%Y/%m/%d %I:%M:%S')

流程:格式器 =》 处理器 =》记录器

原文地址:https://www.cnblogs.com/shuai06/p/12397482.html