xian_qgis
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import logging # Python内置日志模块
|
||||
import os # 文件路径处理模块
|
||||
import datetime # 时间处理模块
|
||||
|
||||
def info(str):
|
||||
"""记录INFO级别的日志到info_日期.log文件"""
|
||||
script_path = os.path.split(os.path.realpath(__file__))[0] # 获取当前脚本所在目录
|
||||
nowTime = datetime.datetime.now().strftime('%Y%m%d') # 获取当前日期(年月日)
|
||||
path = os.path.join(script_path+r'\logs', 'info_' +nowTime+".log") # 日志文件路径(logs子目录下)
|
||||
isExists = os.path.exists(script_path+r'\logs') # 检查logs目录是否存在
|
||||
if not isExists:
|
||||
os.makedirs(script_path+r'\logs') # 不存在则创建logs目录
|
||||
logger = logging.getLogger("run") # 创建名为"run"的日志器
|
||||
logger.setLevel(level=logging.INFO) # 设置日志级别为INFO
|
||||
handler = logging.FileHandler(path) # 创建文件处理器(指定日志文件)
|
||||
handler.setLevel(logging.INFO) # 处理器日志级别为INFO
|
||||
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s => %(message)s') # 日志格式
|
||||
handler.setFormatter(formatter) # 绑定格式到处理器
|
||||
logger.addHandler(handler) # 日志器添加处理器
|
||||
logger.info(str) # 写入INFO日志
|
||||
logger.removeHandler(handler) # 移除处理器(避免重复输出)
|
||||
|
||||
def warning(str):
|
||||
"""记录WARNING级别的日志到info_日期.log文件(与INFO共用文件)"""
|
||||
# 逻辑与info()基本一致,区别在于日志级别为WARNING
|
||||
script_path = os.path.split(os.path.realpath(__file__))[0]
|
||||
nowTime = datetime.datetime.now().strftime('%Y%m%d')
|
||||
path = os.path.join(script_path+r'\logs', 'info_' +nowTime+".log")
|
||||
isExists = os.path.exists(script_path+r'\logs')
|
||||
if not isExists:
|
||||
os.makedirs(script_path+r'\logs')
|
||||
logger = logging.getLogger("run")
|
||||
logger.setLevel(level=logging.WARNING)
|
||||
handler = logging.FileHandler(path)
|
||||
handler.setLevel(logging.WARNING)
|
||||
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s => %(message)s')
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
logger.warning(str)
|
||||
logger.removeHandler(handler)
|
||||
|
||||
def error(str):
|
||||
"""记录ERROR级别的日志到error_日期.log文件"""
|
||||
# 逻辑与info()基本一致,区别在于日志级别为ERROR,且日志文件前缀为error_
|
||||
script_path = os.path.split(os.path.realpath(__file__))[0]
|
||||
nowTime = datetime.datetime.now().strftime('%Y%m%d')
|
||||
path = os.path.join(script_path+r'\logs', 'error_' +nowTime+".log")
|
||||
isExists = os.path.exists(script_path+r'\logs')
|
||||
if not isExists:
|
||||
os.makedirs(script_path+r'\logs')
|
||||
logger = logging.getLogger("run")
|
||||
logger.setLevel(level=logging.ERROR)
|
||||
handler = logging.FileHandler(path)
|
||||
handler.setLevel(logging.ERROR)
|
||||
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s => %(message)s')
|
||||
handler.setFormatter(formatter)
|
||||
logger.addHandler(handler)
|
||||
logger.error(str)
|
||||
logger.removeHandler(handler)
|
||||
Reference in New Issue
Block a user