update log file
This commit is contained in:
63
LogHelper.py
Normal file
63
LogHelper.py
Normal file
@@ -0,0 +1,63 @@
|
||||
import logging
|
||||
import sys
|
||||
|
||||
class LogHelper:
|
||||
def __init__(self,
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
||||
handlers=None):
|
||||
"""
|
||||
初始化日志配置
|
||||
|
||||
:param level: 日志级别,默认为 logging.INFO
|
||||
:param format: 日志格式字符串
|
||||
:param handlers: 日志处理器列表,默认为空(会自动添加控制台处理器)
|
||||
"""
|
||||
self.level = level
|
||||
self.format = format
|
||||
self.handlers = handlers if handlers is not None else []
|
||||
|
||||
def add_console_handler(self, stream=sys.stdout, encoding='utf-8'):
|
||||
"""添加控制台处理器"""
|
||||
console_handler = logging.StreamHandler(stream)
|
||||
console_handler.setFormatter(logging.Formatter(self.format))
|
||||
# 设置控制台编码
|
||||
if encoding:
|
||||
console_handler.encoding = encoding
|
||||
self.handlers.append(console_handler)
|
||||
|
||||
def add_file_handler(self, filename, encoding='utf-8'):
|
||||
"""添加文件处理器(解决中文乱码问题)"""
|
||||
# 使用支持UTF-8编码的文件处理器
|
||||
filepath = "log/" + filename
|
||||
file_handler = logging.FileHandler(filepath, encoding=encoding)
|
||||
file_handler.setFormatter(logging.Formatter(self.format))
|
||||
self.handlers.append(file_handler)
|
||||
|
||||
def setup(self):
|
||||
"""应用日志配置"""
|
||||
logging.basicConfig(
|
||||
level=self.level,
|
||||
format=self.format,
|
||||
handlers=self.handlers
|
||||
)
|
||||
|
||||
# # 使用示例
|
||||
# if __name__ == "__main__":
|
||||
# # 创建配置实例
|
||||
# logger_config = LoggerConfig(
|
||||
# level=logging.DEBUG, # 设置日志级别为 DEBUG
|
||||
# format='%(asctime)s [%(levelname)s] %(message)s' # 自定义格式
|
||||
# )
|
||||
|
||||
# # # 添加处理器
|
||||
# logger_config.add_console_handler() # 默认输出到 stdout
|
||||
# logger_config.add_file_handler('Debug.log') # 添加文件日志
|
||||
|
||||
# # # 应用配置
|
||||
# logger_config.setup()
|
||||
|
||||
# # 测试日志
|
||||
# logging.debug("Debug 信息")
|
||||
# logging.info("Info 信息")
|
||||
# logging.warning("警告信息")
|
||||
Reference in New Issue
Block a user