feat: add logging module for backend + frontend error reporting

Backend:
- New Logger utility (app/utils/Logger.php) with category-based log files
  (connect/game/bet/error/frontend under runtime/log/)
- Log WebSocket connect/close events (WsConnect, WsClose)
- Log dealer auth success/failure (SpaceConnectService)
- Log all game events: startBet, endBet, changeBoot, opening for all 7 game types
- Log unhandled exceptions (ExceptionHandle)
- Separate SQL/error logs via apart_level, enable realtime_write for Swoole
- Add /log/report POST endpoint for frontend error ingestion

Frontend:
- New error-report.js with window.onerror + unhandledrejection auto-reporting
- Added to all 12 dealer HTML templates
- Bump VERSION_V to v10.1.0
This commit is contained in:
testadmin
2026-05-14 11:28:33 +08:00
parent 710bb45614
commit d77c6beac7
31 changed files with 168 additions and 7 deletions
+7 -1
View File
@@ -36,7 +36,13 @@ class ExceptionHandle extends Handle
*/
public function report(Throwable $exception): void
{
// 使用内置的方式记录异常日志
if (!$this->isIgnoreReport($exception)) {
\app\utils\Logger::error(\app\utils\Logger::CAT_ERROR, $exception->getMessage(), [
'file' => $exception->getFile(),
'line' => $exception->getLine(),
'trace' => substr($exception->getTraceAsString(), 0, 2000),
]);
}
parent::report($exception);
}