python中except as用法,python accept函数
分级日志严重错误警告信息调试
默认的日志级别是警告。
默认输出模式是标准输出。
输出是当前级别以上的日志。
日志级别
解释
数值
接受初步测试
输出详细信息,使程序调试变得容易。
10
信息技术
正常输出。
20
魔兽世界
一些意外事件的发生和程序没有完成将被用来输出警告信息。
30
错误
一个重要的错误发生了。程序不能再正常执行某些功能来输出错误信息。
40
危机
出现了一个严重的错误。这个程序不能再执行了。
50
默认级别为警告,仅输出高于警告级别的日志。
导入日志
logging.debug(debuglog。)
logging.info(infolog。)
logging.warning(warninglog )
logging.error(错误日志)
logging.critical(“关键日志”))
警告:根:警告日志。
错误:根:错误日志。
3360危机:危机日志。
更改日志级别
导入日志
#调试日志级别为调试。
logging . basic config(level=logging . debug))。
logging.debug(debuglog。)
logging.info(infolog。)
logging.warning(warninglog )
logging.error(错误日志)
logging.critical(“关键日志”))
Debug: root:调试日志。
信息:根:信息日志。
警告:根:警告日志。
错误:根:错误日志。
3360危机:危机日志。
将日志输出到文件
导入日志
#将日志输出到文件
logging.basic配置(level=logging.debug,filename=example.log ))
logging.debug(debuglog。)
logging.info(infolog。)
logging.warning(warninglog )
logging.error(错误日志)
logging.critical(“关键日志”))
example.log
Debug: root:调试日志。
信息:根:信息日志。
警告:根:警告日志。
错误:根:错误日志。
3360危机:危机日志。
配置日志输出
Logging.basicConfig))来调整日志模块的默认行为。
参数
解释
文件名
指定日志文件的名称。
文件模式
如何打开文件。默认情况下,为添加模式。
格式
指定日志的显示格式。
数据格式
指定日期和时间的显示格式。
等级
指定日志级别。
流动
指定输出为标准输出或标准误差等。
参数的一般格式
格式
解释
%(名称)s
罗格的名字
%(级别号)s
数字格式日志级别
%(级别名)s
文本格式日志级别
%(路径名)s
可能不调用日志输出函数的模块的完整路径名。
%(文件名)s
调用日志输出函数的模块的文件名。
%
dule s
调用日志输出函数的模块名。
%(funcName)s
调用日志输出函数的函数的名称
%(行号)d
调用日志输出函数的语句所在的代码行。
%(已创建)f
目前,时间由UNIX标准的浮点表示。
%(相对创建的)d
输出日志信息时,自记录器创建以来的毫秒数。
%(asctime)s
字符串形式的当前时间。默认格式是“2003-07-08 16:49:45,896”。逗号后面是毫秒。
%(线程)d
线程ID。大概不会。
%(线程名)s
线程名称。大概不会。
%(流程)d
进程ID。大概不会。
%(消息)s
用户的传出消息
例子
导入日志记录
#定义日志输出格式
logging . basic config(level=logging。调试,
format= %(asctime)s %(filename)s %(funcName)s:line %(line no)d %(level name)s %(message)s ,
datefmt=%Y-%m-%d %H:%M:%S
)
def hello():
logging.info(hello func . )
你好()
logging.debug(调试日志.)
logging.info(信息日志.)
logging.warning(警告日志.)
logging.error(错误日志.)
logging.critical(critical log . )
2019-08-03 18:10:00 logging _ test . py hello:line 10 INFO hello func.
2019-08-03 18:10:00 logging _ test . py:第13行调试调试日志.
2019-08-03 18:10:00 logging _ test . py:第14行INFO信息日志.
2019-08-03 18:10:00 logging _ test . py:第15行警告警告日志.
2019-08-03 18:10:00 logging _ test . py:第16行错误错误日志.
2019-08-03 18:10:00 logging _ test . py:第17行关键关键日志.
使用记录器对象
导入日志记录
logger=logging.getLogger(测试日志)
logger.setLevel(日志记录。调试)
# 日志输出到控制台和文件
sh=记录StreamHandler()
fh=日志记录FileHandler(filename=test.log )
# 添加输出方式
logger.addHandler(sh)
logger.addHandler(fh)
# 设置日志输出格式
fmt=记录formatter(fmt= %(asctime)s %(filename)s %(funcName)s:line %(行号)d %(级别名)s %(消息)s ,
datefmt=%Y-%m-%d %H:%M:%S )
# 对输出目标设置输出格式,这里可设置不同的输出格式
设置格式化程序(fmt)
设置格式化程序(fmt)
# # 也可以针对不同的输出目标设置不同的等级
# sh.setLevel(日志记录。警告)
# fh.setLevel(日志记录。调试)
伐木工。信息(“信息”)
伐木工。调试(“调试”)
伐木工。警告(“警告”)
logger.error("错误")
伐木工。关键(“关键”)
2019-08-06 10:31:34日志-示例。py:第54行信息信息
2019-08-06 10:31:34日志-示例。py:第55行调试调试
2019-08-06 10:31:34日志-示例。py:第56行警告警告
2019-08-06 10:31:34日志-示例。py:第57行错误错误
2019-08-06 10:31:34日志-示例。py:第58行危急危急
日志截断
当日志文件内容比较多的时候会导致单个文件容量过大,极其不利于查询,这个时候我们就需要对日志进行截断处理。
按日志文件大小截断
导入日志记录
从日志导入处理程序
logger=logging.getLogger(测试日志)
logger.setLevel(日志记录。调试)
# 日志输出到控制台和文件
sh=记录StreamHandler()
fh=日志记录FileHandler(filename=test.log )
# 添加输出方式
logger.addHandler(sh)
logger.addHandler(fh)
# 设置日志输出格式
fmt=记录formatter(fmt= %(asctime)s %(filename)s %(funcName)s:line %(行号)d %(级别名)s %(消息)s ,
datefmt=%Y-%m-%d %H:%M:%S )
#最大字节数是指每个日志文件的大小,当日志文件超过3KB就分割日志文件,在目录下会出现测试2.log.1,测试2 .日志2等文件
rf=处理者旋转文件处理程序(filename= test 2。log ,maxBytes=1024*3,backupCount=3)
# 添加处理者
logger.addHandler(rf)
rf.setFormatter(fmt)
# 对输出目标设置输出格式,这里可设置不同的输出格式
设置格式化程序(fmt)
设置格式化程序(fmt)
伐木工。信息(“信息”)
伐木工。调试(“调试”)
伐木工。警告(“警告”)
logger.error("错误")
伐木工。关键(“关键”)
按时间间隔截断
TimedRotatingFileHandler(文件名[,时间[,间隔[,备份计数]])
间隔事件间隔
当.的时候参数是一个字符串。表示时间间隔的单位
单位
说明
S
秒
M
分
H
小时
D
天
W
每星期(间隔==0时代表星期一)
午夜
每天凌晨
导入日志记录
从日志导入处理程序
logger=logging.getLogger(测试日志)
logger.setLevel(日志记录。调试)
# 日志输出到控制台和文件
sh=记录StreamHandler()
fh=日志记录FileHandler(filename=test.log )
# 添加输出方式
logger.addHandler(sh)
logger.addHandler(fh)
# 设置日志输出格式
fmt=记录formatter(fmt= %(asctime)s %(filename)s %(funcName)s:line %(行号)d %(级别名)s %(消息)s ,
datefmt=%Y-%m-%d %H:%M:%S )
# 每5秒切割日志,日志文件名后会自动加上日期时间
rf=处理者TimedRotatingFileHandler(文件名=test2.log ,时间=s ,间隔=5,备份计数=3)
# 添加处理者
logger.addHandler(rf)
rf.setFormatter(fmt)
# 对输出目标设置输出格式,这里可设置不同的输出格式
设置格式化程序(fmt)
设置格式化程序(fmt)
伐木工。信息(“信息”)
伐木工。调试(“调试”)
伐木工。警告(“警告”)
logger.error("错误")
伐木工。关键(“关键”)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。