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:
2026-02-09 17:47:41 +08:00
parent ff3d6e2653
commit 93a2278626
6 changed files with 108 additions and 42 deletions

View File

@@ -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):