有时在控制台输出程序中的某些信息后,不方便再次查看,而且控制台显示的信息内容有限,为此,python提供了logging日志包,可方便的进行日志文件记录,既可以写入到磁盘log文件也可输出到控制台,现做个小记录,方便实用。
import sys
import logging
logging.basicConfig(stream=sys.stdout,# info输出到控制台
level=logging.DEBUG,#控制台打印的日志级别,debug,info,warning,error等几个级别
filename='new.log',
filemode='w',
format=
'%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s') #记录时间,文件位置,级别等信息
# %%假如以下stirngs内容写入到log文件中
strings = 'Epoch: [{0}][{1}/{2}]\t Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t Data {data_time.val:.3f} ({data_time.avg:.3f})\t Loss {loss.val:.4f} ({loss.avg:.4f})\t Acc {acc.val:.3f} ({acc.avg:.3f})'.format(
epoch, i + 1, len(data_loader), batch_time=batch_time,
data_time=data_time, loss=losses, acc=accuracies)
print(strings) # 输出到控制台信息
logging.info(strings) # 输出到文本中
reference:
https://blog.csdn.net/jiangjiang_jian/article/details/80805178