日志是每种语言的必需品,合理的输出日志,是检索程序运行的是否正确方式之一,通过日志的搜索,可以检测程序是否正常。
python内置logging 模块,可以将日志文件,定时定量进行分割和处理。
# -*- coding: UTF-8 -*-
import logging # 引入logging模块
import os.path # 引入路径模块
import time
import logging.handlers
# 日志模块(此模块为动态加载日志文件的路径,以及文件名)
work_dir = os.getcwd()
log_path = work_dir+"\\" + "log"
log_file = log_path+"\\"+"log.log"
#log_file = 'D:\\study\\log.log'
if not os.path.exists(log_file):
fopen = open(log_file, mode="w", encoding="utf-8")
fopen.close()
#初始化logger
logger = logging.getLogger()
#设置logger级别为INFO级别
logger.setLevel(logging.INFO)
#格式化时间参数,将当前时间按照年月日时分秒的格式进行格式化
time_format = time.strftime('%Y-%m-%d %H:%M:%S:', time.localtime(time.time()))
#将日志信息写到磁盘中,参数为a
f_write = logging.FileHandler(log_file, mode='a')
#设置日志文件的大小,以及数量,超过2M,会自动重写,保存10个
f_write = logging.handlers.RotatingFileHandler(log_file, maxBytes=2*1024*1024, backupCount=10)
#设置写入磁盘的日志等级为WARNING
f_write.setLevel(logging.WARNING)
#设置日志的格式,
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
#将写入磁盘的日志格式设置为formatter样式
f_write.setFormatter(formatter)
#给logger加handler
logger.addHandler(f_write)
自定义日志目录或者根据文件生成日志目录都可以,定量保存日志