log技术_logging_basicConfig()函数_在日志文件中记录异常
1、参数说明
1、logging.basicConfig()函数各参数说明:
1、filename:指定日志文件名;
2、filemode:和file函数意义相同,指定日志文件的打开模式,'w'或者'a';
3、format:指定输出的格式和内容,format可以输出很多有用的信息;
4、level:日志级别
2、format 参数说明 参数 作用 %(levelno)s 打印日志级别的数值 %(levelname)s 打印日志级别的名称 %(pathname)s 打印当前执行程序的路径,其实就是sys.argv[0] %(filename)s 打印当前执行程序名 %(funcName)s 打印日志的当前函数 %(lineno)d 打印日志的当前行号 %(asctime)s 打印日志的时间 %(thread)d 打印线程ID %(threadName)s 打印线程名称 %(process)d 打印进程ID
3、日志级别:
log.debug('调试')
log.info('信息')
log.warning('警告')
log.error('错误')
log.critical('糟糕')
4、日志设置 1、存放路径 2、日志文件名 3、内容格式:format 2020_10_14.21.34.24 - logBasic.py [代码错误的行号] 级别:具体内容执行时间 文件名 【报错行号】 等级 msg(具体信息)
2、Python 代码 把日志写到文件里(封装log方法)
import logging # logging默认打印warning以上级别的信息
from datetime import datetime
import time
import traceback # 将原始报错的信息返回出来
def logger():
logging.basicConfig(format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s',
filename=f'./{datetime.now().strftime("%Y-%m-%d-%H.%M.%S")}.txt',
level=logging.INFO,
filemode='a+')
return logging
if __name__ == '__main__':
log = logger()
log.error('---hello---')
try:
input = int(input('请输入一个整数:'))
print(1/input)
except: # 捕获所有的异常
# 返回时间和原始报错信息
log.error(time.strftime('%y-%m-%d %H:%M:%S')+traceback.format_exc() + '-------------- n')
# 生成的日志文件内容如下:
# 2022-07-02 12:52:49,361 - log����_logging_basicConfig������������˵��.py[line:60] - ERROR: ---hello---
# 2022-07-02 12:52:53,042 - log����_logging_basicConfig������������˵��.py[line:67] - ERROR: 22-07-02 12:52:53Traceback (most recent call last):
# File "F:/4-Project/Project_�����/�ܽ�_Python֪ʶ��/03_log����_�쳣��־/log����_logging_basicConfig������������˵��.py", line 63, in
# input = int(input('������һ��������'))
# ValueError: invalid literal for int() with base 10: '1.1'
# --------------



