Python logging 模块

一、logging模块介绍

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等

二、logging模块的使用

2.1 最简单的日志输出

import logging
logging.basicConfig(
        level=logging.DEBUG,
        format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
)

logging.debug('调试模式')    #上面的level级别可以用数字10表示
logging.info('正常运行')     #同上level = 20
logging.warning('警告')      #同上level = 30
logging.error('错误')        #同上level = 40
logging.critical('崩溃')     #同上level = 50
--------------运行结果---------------
2018-12-05 20:58:19,609 日志文件.py[line:16] DEBUG 调试模式 2018-12-05 20:58:19,609 日志文件.py[line:17] INFO 正常运行 2018-12-05 20:58:19,610 日志文件.py[line:18] WARNING 警告 2018-12-05 20:58:19,610 日志文件.py[line:19] ERROR 错误 2018-12-05 20:58:19,610 日志文件.py[line:20] CRITICAL 崩溃
---------------------------------
logging.basicConfig()参数讲解:

filename:            #用指定的文件名创建FiledHandler,这样日志会被存储在指定的文件中。
filemode:            #文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。
format:              #指定handler使用的日志显示格式。
datefmt:             #指定日期时间格式。
level:               #设置root logger的日志级别
stream:              #用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件(f=open(‘test.log’,’w’)),默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。

format 参数中可能用到的格式化串:
%(name)s #Logger的名字 %(levelno)s #数字形式的日志级别 %(levelname)s #文本形式的日志级别 %(pathname)s #调用日志输出函数的模块的完整路径名,可能没有 %(filename)s #调用日志输出函数的模块的文件名 %(module)s #调用日志输出函数的模块名 %(funcName)s #调用日志输出函数的函数名 %(lineno)d #调用日志输出函数的语句所在的代码行 %(created)f #当前时间,用UNIX标准的表示时间的浮 点数表示 %(relativeCreated)d #输出日志信息时的,自Logger创建以 来的毫秒数 %(asctime)s #字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒 %(thread)d #线程ID。可能没有 %(threadName)s #线程名。可能没有 %(process)d #进程ID。可能没有 %(message)s #用户输出的消息
原文地址:https://www.cnblogs.com/cyleon/p/10073505.html