Skip to content

Commit 94771fa

Browse files
authored
Merge pull request #162 from lrsgzs/master
fix: 修复一堆日志等级问题
2 parents 0797195 + 215372a commit 94771fa

35 files changed

Lines changed: 196 additions & 174 deletions

CHANGELOG/v2.2.1/CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<img width="1800" height="766" alt="新版本" src="https://github.com/SECTL/SecRandom/blob/master/data/assets/icon/secrandom-release.png" />
2+
v2.0 - Koharu(小鸟游星野) release 4
3+
4+
## 🚀 主要更新
5+
6+
-
7+
8+
## 💡 功能优化
9+
10+
-
11+
12+
## 🐛 修复问题
13+
14+
- 修复 **日志等级** 问题,防止 Sentry 爆炸。
15+
16+
## 🔧 其它变更
17+
18+
-
19+
20+
---
21+
22+
💝 **感谢所有贡献者为 SecRandom 项目付出的努力!**

app/Language/obtain_language.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def run(self):
6363
value = self._read_language_value()
6464
self.finished.emit(value)
6565
except Exception as e:
66-
logger.exception(f"读取语言内容失败: {e}")
66+
logger.warning(f"读取语言内容失败: {e}")
6767
self.finished.emit(None)
6868

6969
def _read_language_value(self):

app/common/IPC_URL/url_ipc_handler.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def register_url_protocol(self) -> bool:
5252
try:
5353
return self.protocol_manager.register_protocol()
5454
except Exception as e:
55-
logger.exception(f"注册URL协议失败: {e}")
55+
logger.warning(f"注册URL协议失败: {e}")
5656
return False
5757

5858
def unregister_url_protocol(self) -> bool:
@@ -65,7 +65,7 @@ def unregister_url_protocol(self) -> bool:
6565
try:
6666
return self.protocol_manager.unregister_protocol()
6767
except Exception as e:
68-
logger.exception(f"注销URL协议失败: {e}")
68+
logger.warning(f"注销URL协议失败: {e}")
6969
return False
7070

7171
def is_protocol_registered(self) -> bool:
@@ -97,7 +97,7 @@ def start_ipc_server(self, port: int = 0) -> bool:
9797
self.is_running = True
9898
return True
9999
except Exception as e:
100-
logger.exception(f"启动IPC服务器失败: {e}")
100+
logger.warning(f"启动IPC服务器失败: {e}")
101101
return False
102102

103103
def stop_ipc_server(self):
@@ -140,11 +140,11 @@ def _run_server(self, port: int):
140140
continue
141141
except Exception as e:
142142
if self.is_running:
143-
logger.exception(f"IPC服务器错误: {e}")
143+
logger.warning(f"IPC服务器错误: {e}")
144144
break
145145

146146
except Exception as e:
147-
logger.exception(f"IPC服务器启动错误: {e}")
147+
logger.warning(f"IPC服务器启动错误: {e}")
148148
finally:
149149
if "server_socket" in locals():
150150
server_socket.close()
@@ -158,7 +158,7 @@ def _handle_client(self, client_socket: socket.socket, address: tuple):
158158
response = self._process_message(message)
159159
client_socket.send(json.dumps(response).encode("utf-8"))
160160
except Exception as e:
161-
logger.exception(f"处理IPC消息错误: {e}")
161+
logger.warning(f"处理IPC消息错误: {e}")
162162
finally:
163163
client_socket.close()
164164

@@ -188,7 +188,7 @@ def _process_message(self, message: Dict[str, Any]) -> Dict[str, Any]:
188188
"type": message_type,
189189
"error": str(e),
190190
}
191-
logger.exception(f"消息处理失败 - 类型: {message_type}, 错误: {e}")
191+
logger.warning(f"消息处理失败 - 类型: {message_type}, 错误: {e}")
192192
return error_response
193193
else:
194194
unknown_response = {
@@ -224,7 +224,7 @@ def _handle_url_message(self, payload: Dict[str, Any]) -> Dict[str, Any]:
224224
logger.info(f"URL命令执行成功: {url}, 结果: {result}")
225225
return {"success": True, "result": result}
226226
except Exception as e:
227-
logger.exception(f"URL命令执行失败: {url}, 错误: {e}")
227+
logger.warning(f"URL命令执行失败: {url}, 错误: {e}")
228228
return {"success": False, "error": str(e)}
229229

230230
def register_message_handler(self, message_type: str, handler: Callable):
@@ -262,7 +262,7 @@ def send_ipc_message(
262262
return json.loads(response_data)
263263

264264
except Exception as e:
265-
logger.exception(f"发送IPC消息失败: {e}")
265+
logger.warning(f"发送IPC消息失败: {e}")
266266
return None
267267

268268
def _save_port_config(self, port: int):
@@ -286,7 +286,7 @@ def load_port_config(self) -> Optional[int]:
286286
config = json.load(f)
287287
return config.get("port")
288288
except Exception as e:
289-
logger.exception(f"加载端口配置失败: {e}")
289+
logger.warning(f"加载端口配置失败: {e}")
290290

291291
return None
292292

@@ -328,7 +328,7 @@ def handle_url_args(self, url: str) -> Dict[str, Any]:
328328
return result
329329

330330
except Exception as e:
331-
logger.exception(f"URL参数解析失败: {url}, 错误: {e}")
331+
logger.warning(f"URL参数解析失败: {url}, 错误: {e}")
332332
return {"success": False, "error": str(e)}
333333

334334
def execute_url_command(
@@ -361,7 +361,7 @@ def execute_url_command(
361361
logger.info(f"URL命令执行成功: {url}, 结果: {result}")
362362
return {"success": True, "result": result}
363363
except Exception as e:
364-
logger.exception(f"URL命令执行失败: {url}, 错误: {e}")
364+
logger.warning(f"URL命令执行失败: {url}, 错误: {e}")
365365
return {"success": False, "error": str(e)}
366366

367367
def get_available_commands(self) -> Dict[str, Any]:

app/common/extraction/cses_parser.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ def _validate_schedule(self) -> bool:
283283
bool: 数据有效返回True,否则返回False
284284
"""
285285
if not self.schedule_data:
286-
logger.exception("课程表数据为空")
286+
logger.warning("课程表数据为空")
287287
return False
288288

289289
schedule = self.schedule_data.get("schedule")
@@ -293,7 +293,7 @@ def _validate_schedule(self) -> bool:
293293
logger.warning("缺少'timeslots'字段,将使用空课程表数据")
294294
return True
295295
if not isinstance(timeslots, list):
296-
logger.exception("'timeslots'字段必须是列表类型")
296+
logger.warning("'timeslots'字段必须是列表类型")
297297
return False
298298
for i, timeslot in enumerate(timeslots):
299299
if not self._validate_timeslot(timeslot, i):
@@ -343,25 +343,25 @@ def _validate_timeslot(self, timeslot: dict, index: int) -> bool:
343343
bool: 有效返回True,否则返回False
344344
"""
345345
if not isinstance(timeslot, dict):
346-
logger.exception(f"时间段{index}必须是字典类型")
346+
logger.warning(f"时间段{index}必须是字典类型")
347347
return False
348348

349349
required_fields = ["name", "start_time", "end_time"]
350350
for field in required_fields:
351351
if field not in timeslot:
352-
logger.exception(f"时间段{index}缺少'{field}'字段")
352+
logger.warning(f"时间段{index}缺少'{field}'字段")
353353
return False
354354

355355
try:
356356
start_time = self._parse_time(timeslot["start_time"])
357357
end_time = self._parse_time(timeslot["end_time"])
358358

359359
if start_time >= end_time:
360-
logger.exception(f"时间段{index}的开始时间必须早于结束时间")
360+
logger.warning(f"时间段{index}的开始时间必须早于结束时间")
361361
return False
362362

363363
except ValueError as e:
364-
logger.exception(f"时间段{index}时间格式错误: {e}")
364+
logger.warning(f"时间段{index}时间格式错误: {e}")
365365
return False
366366

367367
return True
@@ -387,7 +387,7 @@ def _parse_time(self, time_str: str) -> time:
387387
return time(int(parts[0]), int(parts[1]), int(parts[2]))
388388
raise ValueError(f"无效的时间格式: {time_str}")
389389
except (ValueError, IndexError):
390-
logger.exception(f"无法解析时间: {time_str}")
390+
logger.warning(f"无法解析时间: {time_str}")
391391
raise ValueError(f"无法解析时间: {time_str}") from None
392392

393393
def _parse_time_string_to_seconds(self, time_val: str | int) -> int:
@@ -416,7 +416,7 @@ def _parse_time_string_to_seconds(self, time_val: str | int) -> int:
416416
return int(parts[0]) * 3600 + int(parts[1]) * 60 + int(parts[2])
417417
return int(time_str)
418418
except (ValueError, IndexError):
419-
logger.exception(f"无法解析时间字符串: {time_val}")
419+
logger.warning(f"无法解析时间字符串: {time_val}")
420420
raise ValueError(f"无法解析时间字符串: {time_val}") from None
421421

422422
def _format_time_for_secrandom(self, time_val: str | int) -> str:

app/common/music/music_player.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,10 @@ def play_music(
9696

9797
music_path = get_audio_path(f"music/{music_file}")
9898
if not music_path.exists():
99-
logger.exception(f"音乐文件不存在: {music_path}")
99+
logger.warning(f"音乐文件不存在: {music_path}")
100100
return False
101101
except Exception as e:
102-
logger.exception(f"获取音乐文件路径失败: {e}")
102+
logger.warning(f"获取音乐文件路径失败: {e}")
103103
return False
104104

105105
# 从设置中获取音量和渐入渐出时长
@@ -125,7 +125,7 @@ def play_music(
125125
)
126126
self._fade_out_duration = fade_out_ms / 1000.0
127127
except Exception as e:
128-
logger.exception(f"获取音乐设置失败: {e}")
128+
logger.warning(f"获取音乐设置失败: {e}")
129129
self._volume = 1.0
130130
self._fade_in_duration = 0.0
131131
self._fade_out_duration = 0.0
@@ -208,7 +208,7 @@ def _play_music_worker(self, music_path: str, loop: bool) -> None:
208208
data = np.mean(data, axis=1)
209209
data = data.astype(np.float32)
210210
except Exception as e:
211-
logger.exception(f"读取音乐文件失败: {e}")
211+
logger.warning(f"读取音乐文件失败: {e}")
212212
return
213213

214214
# 初始化音频流(只初始化一次)
@@ -221,7 +221,7 @@ def _play_music_worker(self, music_path: str, loop: bool) -> None:
221221
)
222222
stream.start()
223223
except Exception as e:
224-
logger.exception(f"初始化音频流失败: {e}")
224+
logger.warning(f"初始化音频流失败: {e}")
225225
return
226226

227227
# 计算渐入步数
@@ -254,23 +254,23 @@ def _play_music_worker(self, music_path: str, loop: bool) -> None:
254254
try:
255255
stream.write(chunk)
256256
except Exception as e:
257-
logger.exception(f"写入音频流失败: {e}")
257+
logger.warning(f"写入音频流失败: {e}")
258258
break
259259

260260
# 如果不循环或者收到停止信号,退出循环
261261
if not loop or self._stop_flag.is_set():
262262
break
263263

264264
except Exception as e:
265-
logger.exception(f"音乐播放工作线程异常: {e}")
265+
logger.warning(f"音乐播放工作线程异常: {e}")
266266
finally:
267267
# 确保音频流关闭
268268
if stream:
269269
try:
270270
stream.stop()
271271
stream.close()
272272
except Exception as e:
273-
logger.exception(f"关闭音频流失败: {e}")
273+
logger.warning(f"关闭音频流失败: {e}")
274274
self._is_playing = False
275275
logger.debug("音乐播放工作线程结束")
276276

app/common/safety/secure_store.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ def write_behind_scenes_settings(d: dict) -> None:
259259
except Exception as e2:
260260
logger.warning(f"降级写入明文JSON也失败:{e2}")
261261
except Exception as e:
262-
logger.exception(f"写入内幕设置失败:{p}, 错误:{e}")
262+
logger.warning(f"写入内幕设置失败:{p}, 错误:{e}")
263263
try:
264264
with open(p, "w", encoding="utf-8") as f:
265265
json.dump(d, f, ensure_ascii=False, indent=4)

app/common/shortcut/shortcut_manager.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,10 @@ def on_pressed():
9393
else:
9494
logger.debug(f"快捷键热键为空: {config_key} = {shortcut_str}")
9595
except Exception as e:
96-
logger.exception(f"注册快捷键失败 {config_key}: {e}")
96+
logger.warning(f"注册快捷键失败 {config_key}: {e}")
9797
import traceback
9898

99-
logger.exception(traceback.format_exc())
99+
logger.warning(traceback.format_exc())
100100
else:
101101
logger.debug(f"快捷键未设置: {config_key}")
102102

@@ -129,7 +129,7 @@ def reload_shortcuts(self):
129129
try:
130130
keyboard.remove_hotkey(hotkey)
131131
except Exception as e:
132-
logger.exception(f"注销快捷键失败 {config_key}: {e}")
132+
logger.warning(f"注销快捷键失败 {config_key}: {e}")
133133

134134
self.shortcuts.clear()
135135

@@ -149,7 +149,7 @@ def update_shortcut(self, config_key: str, shortcut_str: str):
149149
keyboard.remove_hotkey(old_hotkey)
150150
del self.shortcuts[config_key]
151151
except Exception as e:
152-
logger.exception(f"注销快捷键失败 {config_key}: {e}")
152+
logger.warning(f"注销快捷键失败 {config_key}: {e}")
153153

154154
if shortcut_str and self._enabled:
155155
try:
@@ -168,7 +168,7 @@ def on_pressed():
168168
f"快捷键已更新: {config_key} = {shortcut_str}, 热键: {hotkey}"
169169
)
170170
except Exception as e:
171-
logger.exception(f"更新快捷键失败 {config_key}: {e}")
171+
logger.warning(f"更新快捷键失败 {config_key}: {e}")
172172

173173
def _get_signal_for_key(self, config_key: str) -> Signal:
174174
"""根据配置键获取对应的信号
@@ -207,7 +207,7 @@ def set_enabled(self, enabled: bool):
207207
try:
208208
keyboard.remove_hotkey(hotkey)
209209
except Exception as e:
210-
logger.exception(f"注销快捷键失败 {config_key}: {e}")
210+
logger.warning(f"注销快捷键失败 {config_key}: {e}")
211211
self.shortcuts.clear()
212212
logger.info("快捷键已禁用")
213213

@@ -227,5 +227,5 @@ def cleanup(self):
227227
keyboard.unhook_all()
228228
logger.debug("已清理所有 keyboard 钩子")
229229
except Exception as e:
230-
logger.exception(f"清理 keyboard 钩子失败: {e}")
230+
logger.warning(f"清理 keyboard 钩子失败: {e}")
231231
self.shortcuts.clear()

app/common/voice/edge_tts_worker.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def run(self):
2020
voices = self.get_voices()
2121
self.voices_fetched.emit(voices)
2222
except Exception as e:
23-
logger.exception(f"获取Edge TTS语音列表失败: {e}")
23+
logger.warning(f"获取Edge TTS语音列表失败: {e}")
2424
self.error_occurred.emit(str(e))
2525

2626
def get_voices(self):
@@ -94,7 +94,7 @@ def get_voices(self):
9494

9595
return filtered_voices
9696
except Exception as e:
97-
logger.exception(f"获取Edge TTS语音列表失败: {e}")
97+
logger.warning(f"获取Edge TTS语音列表失败: {e}")
9898
# 返回默认语音列表
9999
return self.get_default_voices()
100100

0 commit comments

Comments
 (0)