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

 

posted @ 2019-04-19 11:11  小金儿  阅读(2247)  评论(0编辑  收藏  举报