xian_qgis

This commit is contained in:
zzw
2026-06-18 10:12:15 +08:00
commit 9813d6d164
16 changed files with 663 additions and 0 deletions
+59
View File
@@ -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)