feat(log): 优化唤醒和休眠日志的输出频率
对唤醒度和休眠检查的日志记录进行节流,以减少在消息密集时产生的日志数量。 - 在 `WakeUpManager` 中,唤醒度变化的日志现在每30秒最多输出一次 INFO 级别的日志,其余时间的日志降为 DEBUG 级别。 - 在 `ScheduleManager` 中,休眠期间被唤醒的日志也增加了类似的节流逻辑,以避免日志刷屏。
This commit is contained in:
@@ -26,6 +26,8 @@ class WakeUpManager:
|
|||||||
self.angry_start_time = 0.0 # 愤怒状态开始时间
|
self.angry_start_time = 0.0 # 愤怒状态开始时间
|
||||||
self.last_decay_time = time.time() # 上次衰减时间
|
self.last_decay_time = time.time() # 上次衰减时间
|
||||||
self._decay_task: Optional[asyncio.Task] = None
|
self._decay_task: Optional[asyncio.Task] = None
|
||||||
|
self.last_log_time = 0
|
||||||
|
self.log_interval = 30
|
||||||
|
|
||||||
# 从配置文件获取参数
|
# 从配置文件获取参数
|
||||||
wakeup_config = global_config.wakeup_system
|
wakeup_config = global_config.wakeup_system
|
||||||
@@ -123,7 +125,12 @@ class WakeUpManager:
|
|||||||
# 群聊未被艾特,不增加唤醒度
|
# 群聊未被艾特,不增加唤醒度
|
||||||
return False
|
return False
|
||||||
|
|
||||||
logger.info(f"{self.context.log_prefix} 唤醒度变化: {old_value:.1f} -> {self.wakeup_value:.1f} (阈值: {self.wakeup_threshold})")
|
current_time = time.time()
|
||||||
|
if current_time - self.last_log_time > self.log_interval:
|
||||||
|
logger.info(f"{self.context.log_prefix} 唤醒度变化: {old_value:.1f} -> {self.wakeup_value:.1f} (阈值: {self.wakeup_threshold})")
|
||||||
|
self.last_log_time = current_time
|
||||||
|
else:
|
||||||
|
logger.debug(f"{self.context.log_prefix} 唤醒度变化: {old_value:.1f} -> {self.wakeup_value:.1f} (阈值: {self.wakeup_threshold})")
|
||||||
|
|
||||||
# 检查是否达到唤醒阈值
|
# 检查是否达到唤醒阈值
|
||||||
if self.wakeup_value >= self.wakeup_threshold:
|
if self.wakeup_value >= self.wakeup_threshold:
|
||||||
|
|||||||
@@ -418,7 +418,12 @@ class ScheduleManager:
|
|||||||
if is_in_time_range:
|
if is_in_time_range:
|
||||||
# 检查是否被唤醒
|
# 检查是否被唤醒
|
||||||
if wakeup_manager and wakeup_manager.is_in_angry_state():
|
if wakeup_manager and wakeup_manager.is_in_angry_state():
|
||||||
logger.info(f"在休眠活动 '{activity}' 期间,但已被唤醒。")
|
current_timestamp = datetime.now().timestamp()
|
||||||
|
if current_timestamp - self.last_sleep_log_time > self.sleep_log_interval:
|
||||||
|
logger.info(f"在休眠活动 '{activity}' 期间,但已被唤醒。")
|
||||||
|
self.last_sleep_log_time = current_timestamp
|
||||||
|
else:
|
||||||
|
logger.debug(f"在休眠活动 '{activity}' 期间,但已被唤醒。")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
current_timestamp = datetime.now().timestamp()
|
current_timestamp = datetime.now().timestamp()
|
||||||
|
|||||||
Reference in New Issue
Block a user