fix: 优化边缘端稳定性和日志管理
1. database.py: 优化数据库连接和错误处理 2. postprocessor.py: 改进后处理逻辑 3. result_reporter.py: 完善告警上报字段 4. video_stream.py: 增强视频流稳定性 5. main.py: 优化启动流程和异常处理 6. logger.py: 改进日志格式和轮转配置 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -87,29 +87,34 @@ class StructuredLogger:
|
||||
def _init_logger(self):
|
||||
"""初始化日志配置"""
|
||||
settings = get_settings()
|
||||
|
||||
|
||||
self._log_level = getattr(logging, settings.log_level.upper(), logging.INFO)
|
||||
self._log_dir = settings.log_dir
|
||||
self._max_size = settings.log_file_max_size
|
||||
self._backup_count = settings.log_file_backup_count
|
||||
|
||||
|
||||
os.makedirs(self._log_dir, exist_ok=True)
|
||||
|
||||
self._logger = logging.getLogger(self.name)
|
||||
self._logger.setLevel(self._log_level)
|
||||
|
||||
self._logger.handlers.clear()
|
||||
|
||||
|
||||
formatter = logging.Formatter(
|
||||
fmt='%(asctime)s | %(levelname)-8s | %(name)s | %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S'
|
||||
)
|
||||
|
||||
console_handler = logging.StreamHandler(sys.stdout)
|
||||
console_handler.setLevel(self._log_level)
|
||||
console_handler.setFormatter(formatter)
|
||||
self._logger.addHandler(console_handler)
|
||||
|
||||
|
||||
# 配置 root logger,使所有模块的 logging.getLogger(name) 都能输出
|
||||
root_logger = logging.getLogger()
|
||||
root_logger.setLevel(self._log_level)
|
||||
if not root_logger.handlers:
|
||||
console_handler = logging.StreamHandler(sys.stdout)
|
||||
console_handler.setLevel(self._log_level)
|
||||
console_handler.setFormatter(formatter)
|
||||
root_logger.addHandler(console_handler)
|
||||
|
||||
# 配置命名 logger(主模块专用,写入独立日志文件)
|
||||
self._logger = logging.getLogger(self.name)
|
||||
self._logger.setLevel(self._log_level)
|
||||
self._logger.handlers.clear()
|
||||
self._logger.propagate = True # 通过 root logger 输出到控制台
|
||||
|
||||
self._add_file_handler(formatter)
|
||||
|
||||
def _add_file_handler(self, formatter: logging.Formatter):
|
||||
|
||||
Reference in New Issue
Block a user