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:
@@ -6,6 +6,7 @@ namespace app\services\connect;
|
||||
|
||||
use app\models\table\Table;
|
||||
use app\models\table\UserController;
|
||||
use app\utils\Logger;
|
||||
use freedom\utils\SocketSession;
|
||||
use think\Request;
|
||||
|
||||
@@ -38,8 +39,8 @@ class SpaceConnectService
|
||||
$username = trim($event->get('account'));
|
||||
$userController = UserController::get(['id' => $userId, 'username' => $username, 'login_token' => $loginToken]);
|
||||
if (!$tableInfo || !$userController){
|
||||
Logger::warn(Logger::CAT_CONNECT, 'space_auth_fail', ['table_id' => $tableId, 'username' => $username, 'has_table' => !!$tableInfo, 'has_user' => !!$userController]);
|
||||
$ws->emit('onlineLogin',['status' => false, 'msg' => 'not_table_data']);
|
||||
//$ws->close();
|
||||
return;
|
||||
}
|
||||
$lastNumberTab = InitTableService::initTable($tableInfo);
|
||||
@@ -54,7 +55,9 @@ class SpaceConnectService
|
||||
$round['show_card'] = GetCardService::getCard($tableInfo,$lastNumberTab);
|
||||
$ws->emit('onlineLogin',['status' => true, 'table_id' => $tableInfo['id'], 'round' => $round]);
|
||||
SocketSession::saveSocketSession(['table_id' => $tableInfo['id'], 'table_name' => $tableInfo['table_name']],'space');
|
||||
Logger::info(Logger::CAT_CONNECT, 'space_login_ok', ['table_id' => $tableInfo['id'], 'table_name' => $tableInfo['table_name'], 'username' => $username]);
|
||||
}else{
|
||||
Logger::warn(Logger::CAT_CONNECT, 'space_init_fail', ['table_id' => $tableId, 'username' => $username]);
|
||||
$ws->emit('onlineLogin',['status' => false, 'table_id' => $tableInfo['id'], 'msg' => 'link_server_fail']);
|
||||
//$ws->close();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user