ocr1.0
This commit is contained in:
44
ocr/logger_config.py
Normal file
44
ocr/logger_config.py
Normal file
@ -0,0 +1,44 @@
|
||||
#日志文件
|
||||
import logging
|
||||
import sys
|
||||
|
||||
def setup_logger():
|
||||
"""
|
||||
配置一个全局日志记录器,支持输出到控制台和文件。
|
||||
"""
|
||||
# 创建一个日志记录器
|
||||
logger = logging.getLogger("ViolationDetectorLogger")
|
||||
logger.setLevel(logging.DEBUG) # 设置最低级别为DEBUG
|
||||
|
||||
# 如果已经有处理器了,就不要重复添加,防止日志重复打印
|
||||
if logger.hasHandlers():
|
||||
return logger
|
||||
|
||||
# --- 控制台处理器 ---
|
||||
console_handler = logging.StreamHandler(sys.stdout)
|
||||
# 对于控制台,我们只显示INFO及以上级别的信息
|
||||
console_handler.setLevel(logging.INFO)
|
||||
console_formatter = logging.Formatter(
|
||||
'%(asctime)s - %(levelname)s - [%(module)s:%(lineno)d] - %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S'
|
||||
)
|
||||
console_handler.setFormatter(console_formatter)
|
||||
|
||||
# --- 文件处理器 ---
|
||||
file_handler = logging.FileHandler("violation_detector.log", mode='a', encoding='utf-8')
|
||||
# 对于文件,我们记录所有DEBUG及以上级别的信息
|
||||
file_handler.setLevel(logging.DEBUG)
|
||||
file_formatter = logging.Formatter(
|
||||
'%(asctime)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S'
|
||||
)
|
||||
file_handler.setFormatter(file_formatter)
|
||||
|
||||
# 将处理器添加到日志记录器
|
||||
logger.addHandler(console_handler)
|
||||
logger.addHandler(file_handler)
|
||||
|
||||
return logger
|
||||
|
||||
# 创建并导出logger实例
|
||||
logger = setup_logger()
|
Reference in New Issue
Block a user