fix:增加日志可读性

This commit is contained in:
SengokuCola
2025-04-23 17:22:06 +08:00
parent f10540eb8d
commit 5782d4425b
3 changed files with 13 additions and 13 deletions

View File

@@ -338,7 +338,7 @@ MAI_STATE_CONFIG = {
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦状态 | {message}", "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦状态 | {message}",
}, },
"simple": { "simple": {
"console_format": "<green>{time:MM-DD HH:mm}</green> | <light-blue>麦麦状态</light-blue> | {message}", # noqa: E501 "console_format": "<green>{time:MM-DD HH:mm}</green> | <light-blue>麦麦状态 | {message} </light-blue>", # noqa: E501
"file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦状态 | {message}", "file_format": "{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {extra[module]: <15} | 麦麦状态 | {message}",
}, },
} }

View File

@@ -84,7 +84,7 @@ class InterestLogger:
except Exception as e: except Exception as e:
logger.warning(f"获取子心流 {stream_id} 兴趣状态出错: {e}") logger.warning(f"获取子心流 {stream_id} 兴趣状态出错: {e}")
logger.debug(f"成功获取 {len(results)} 个兴趣状态") logger.trace(f"成功获取 {len(results)} 个兴趣状态")
return results return results
async def log_interest_states(self): async def log_interest_states(self):

View File

@@ -123,19 +123,19 @@ class MaiStateManager:
next_state: Optional[MaiState] = None next_state: Optional[MaiState] = None
if current_status == MaiState.OFFLINE: if current_status == MaiState.OFFLINE:
logger.info("[麦麦聊天状态] 当前[离线],没看手机,思考要不要上线看看......") logger.info("当前[离线],没看手机,思考要不要上线看看......")
elif current_status == MaiState.PEEKING: elif current_status == MaiState.PEEKING:
logger.info("[麦麦聊天状态] 当前[在窥屏],思考要不要继续聊下去......") logger.info("当前[在窥屏],思考要不要继续聊下去......")
elif current_status == MaiState.NORMAL_CHAT: elif current_status == MaiState.NORMAL_CHAT:
logger.info("[麦麦聊天状态] 当前在[闲聊]思考要不要继续聊下去......") logger.info("当前在[闲聊]思考要不要继续聊下去......")
elif current_status == MaiState.FOCUSED_CHAT: elif current_status == MaiState.FOCUSED_CHAT:
logger.info("[麦麦聊天状态] 当前在[激情聊天]思考要不要继续聊下去......") logger.info("当前在[激情聊天]思考要不要继续聊下去......")
# 1. 麦麦每分钟都有概率离线 # 1. 麦麦每分钟都有概率离线
if time_since_last_min_check >= 60: if time_since_last_min_check >= 60:
if current_status != MaiState.OFFLINE: if current_status != MaiState.OFFLINE:
if random.random() < 0.03: # 3% 概率切换到 OFFLINE20分钟有50%的概率还在线 if random.random() < 0.03: # 3% 概率切换到 OFFLINE20分钟有50%的概率还在线
logger.debug(f"[麦麦聊天状态] 突然不想聊了,从 {current_status.value} 切换到 离线") logger.debug(f"突然不想聊了,从 {current_status.value} 切换到 离线")
next_state = MaiState.OFFLINE next_state = MaiState.OFFLINE
# 2. 状态持续时间规则 (如果没有自行下线) # 2. 状态持续时间规则 (如果没有自行下线)
@@ -149,7 +149,7 @@ class MaiStateManager:
next_state_candidate = random.choices(choices_list, weights=weights, k=1)[0] next_state_candidate = random.choices(choices_list, weights=weights, k=1)[0]
if next_state_candidate != MaiState.OFFLINE: if next_state_candidate != MaiState.OFFLINE:
next_state = next_state_candidate next_state = next_state_candidate
logger.debug(f"[麦麦聊天状态] 上线!开始 {next_state.name}") logger.debug(f"上线!开始 {next_state.name}")
else: else:
# 继续离线状态 # 继续离线状态
next_state = MaiState.OFFLINE next_state = MaiState.OFFLINE
@@ -159,7 +159,7 @@ class MaiStateManager:
weights = [70, 20, 10] weights = [70, 20, 10]
choices_list = [MaiState.OFFLINE, MaiState.NORMAL_CHAT, MaiState.FOCUSED_CHAT] choices_list = [MaiState.OFFLINE, MaiState.NORMAL_CHAT, MaiState.FOCUSED_CHAT]
next_state = random.choices(choices_list, weights=weights, k=1)[0] next_state = random.choices(choices_list, weights=weights, k=1)[0]
logger.debug(f"[麦麦聊天状态] 手机看完了,接下来 {next_state.name}") logger.debug(f"手机看完了,接下来 {next_state.name}")
elif current_status == MaiState.NORMAL_CHAT: elif current_status == MaiState.NORMAL_CHAT:
if time_in_current_status >= 300: # NORMAL_CHAT 最多持续 300 秒 if time_in_current_status >= 300: # NORMAL_CHAT 最多持续 300 秒
@@ -167,16 +167,16 @@ class MaiStateManager:
choices_list = [MaiState.OFFLINE, MaiState.FOCUSED_CHAT] choices_list = [MaiState.OFFLINE, MaiState.FOCUSED_CHAT]
next_state = random.choices(choices_list, weights=weights, k=1)[0] next_state = random.choices(choices_list, weights=weights, k=1)[0]
if next_state == MaiState.FOCUSED_CHAT: if next_state == MaiState.FOCUSED_CHAT:
logger.debug(f"[麦麦聊天状态] 继续深入聊天, {next_state.name}") logger.debug(f"继续深入聊天, {next_state.name}")
else: else:
logger.debug(f"[麦麦聊天状态] 聊完了,接下来 {next_state.name}") logger.debug(f"聊完了,接下来 {next_state.name}")
elif current_status == MaiState.FOCUSED_CHAT: elif current_status == MaiState.FOCUSED_CHAT:
if time_in_current_status >= 600: # FOCUSED_CHAT 最多持续 600 秒 if time_in_current_status >= 600: # FOCUSED_CHAT 最多持续 600 秒
weights = [80, 20] weights = [80, 20]
choices_list = [MaiState.OFFLINE, MaiState.NORMAL_CHAT] choices_list = [MaiState.OFFLINE, MaiState.NORMAL_CHAT]
next_state = random.choices(choices_list, weights=weights, k=1)[0] next_state = random.choices(choices_list, weights=weights, k=1)[0]
logger.debug(f"[麦麦聊天状态] 深入聊天结束,接下来 {next_state.name}") logger.debug(f"深入聊天结束,接下来 {next_state.name}")
# 如果决定了下一个状态,且这个状态与当前状态不同,则返回下一个状态 # 如果决定了下一个状态,且这个状态与当前状态不同,则返回下一个状态
if next_state is not None and next_state != current_status: if next_state is not None and next_state != current_status:
@@ -184,7 +184,7 @@ class MaiStateManager:
# 如果决定保持 OFFLINE (next_state == MaiState.OFFLINE) 且当前也是 OFFLINE # 如果决定保持 OFFLINE (next_state == MaiState.OFFLINE) 且当前也是 OFFLINE
# 并且是由于持续时间规则触发的,返回 OFFLINE 以便调用者可以重置计时器 # 并且是由于持续时间规则触发的,返回 OFFLINE 以便调用者可以重置计时器
elif next_state == MaiState.OFFLINE and current_status == MaiState.OFFLINE and time_in_current_status >= 60: elif next_state == MaiState.OFFLINE and current_status == MaiState.OFFLINE and time_in_current_status >= 60:
logger.debug("[麦麦聊天状态] 决定保持 OFFLINE (持续时间规则),返回 OFFLINE 以提示重置计时器。") logger.debug("决定保持 OFFLINE (持续时间规则),返回 OFFLINE 以提示重置计时器。")
return MaiState.OFFLINE # Return OFFLINE to signal caller that timer reset might be needed return MaiState.OFFLINE # Return OFFLINE to signal caller that timer reset might be needed
else: else:
return None # 没有状态转换发生或无需重置计时器 return None # 没有状态转换发生或无需重置计时器