当在Laravel中生成错误日志时,用日志记录API路径和负载



我正在寻找解决方案,该解决方案可以帮助我记录带有请求负载的API端点,以便在Laravel上进行调试。

现在我能够找到Laravel框架在发生错误时生成的错误日志。但当请求失败时,我想记录API请求负载数据。

生成错误时的原始Laravel日志:

[2022-09-15 17:40:17] developer.ERROR: Division by zero {"userId":205,"exception":"[object] (ErrorException(code: 0): Division by zero at /Applications/MAMP/htdocs/bm_api/apis/app/Http/Controllers/API/ReportController.php:916)
[stacktrace]
#0 /Applications/MAMP/htdocs/bm_api/apis/app/Http/Controllers/API/ReportController.php(916): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Division by zer...', '/Applications/M...', 916, Array)
#1 [internal function]: App\Http\Controllers\API\ReportController->list_xxx_size_wise_purity_report(Object(Illuminate\Http\Request))
#2 /Applications/MAMP/htdocs/bm_api/apis/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
.....

我想添加一些其他细节到这个框架生成的日志如下

[2022-09-15 17:40:17] developer.ERROR: Division by zero {"userId":205,"exception":"[object] (ErrorException(code: 0): Division by zero at /Applications/MAMP/htdocs/bm_api/apis/app/Http/Controllers/API/ReportController.php:916)
[request_details]
API: [API_PATH]
DATA : JSON
PAYLOAD: {.......}

[stacktrace]
#0 /Applications/MAMP/htdocs/bm_api/apis/app/Http/Controllers/API/ReportController.php(916): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Division by zer...', '/Applications/M...', 916, Array)
#1 [internal function]: App\Http\Controllers\API\ReportController->list_xxx_size_wise_purity_report(Object(Illuminate\Http\Request))
#2 /Applications/MAMP/htdocs/bm_api/apis/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
.....

嘿,Laravel有管理错误处理的类,你可以在AppExceptionsHandler这样你就可以在寄存器函数中添加你的数据,每次出错后抛出laravel自动调用这个类

最新更新