\App\Http\MiddlewareLogErrorMiddleware

系统错误日志中间件

职责:捕获请求链路中抛出的系统异常并落 td_log_sys_error(异常名/消息/ 堆栈/发生位置/请求快照/链路标识),随后原样重抛——响应渲染仍由 bootstrap 异常处理器完成,中间件不改变对外契约。 参数校验(422)、限流中断(429)、4xx HTTP 异常属业务拒绝,不入错误表。 写库失败仅告警,异常仍原样传播,绝不因审计吞掉业务异常。

┌────────────────── 分区导航(按此顺序阅读)──────────────────┐ 分区 1 · 请求处理 handle 分区 2 · 落库 recordIfSystemError / record / requestParamsSnapshot └────────────────────────────────────────────────────────────┘

Summary

Methods
Properties
Constants
handle()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
recordIfSystemError()
record()
requestParamsSnapshot()
No private properties found
N/A

Methods

handle()

handle(\Illuminate\Http\Request  $request, \Closure  $next) : mixed

处理请求:捕获系统异常落库后原样重抛。

流程:① 放行 ② 捕获 Throwable:业务拒绝类异常跳过、其余落库 ③ 原样重抛,由异常处理器渲染统一响应。

Parameters

\Illuminate\Http\Request $request
\Closure $next

Returns

mixed —

recordIfSystemError()

recordIfSystemError(\Illuminate\Http\Request  $request, \Throwable  $e) : void

仅记录系统异常:参数校验/限流中断/4xx HTTP 异常属业务拒绝, 不入错误表;写库失败仅告警,异常仍原样传播。

Parameters

\Illuminate\Http\Request $request
\Throwable $e

record()

record(\Illuminate\Http\Request  $request, \Throwable  $e) : void

组装并写入一条系统错误日志(堆栈截断防单行膨胀)

Parameters

\Illuminate\Http\Request $request
\Throwable $e

requestParamsSnapshot()

requestParamsSnapshot(\Illuminate\Http\Request  $request) : ?string

请求参数快照:脱敏后 JSON 序列化并截断(原始参数可能很大)

Parameters

\Illuminate\Http\Request $request

Returns

?string —