Skip to content

Commit df127bb

Browse files
authored
Merge pull request #13 from bilfeldt/feature/middleware
Add logging of middleware
2 parents c04ff65 + 43308ff commit df127bb

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

database/factories/RequestLogFactory.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public function definition()
1515
'uuid' => $this->faker->uuid,
1616
'ip' => $this->faker->ipv4,
1717
'session' => null,
18+
'middleware' => $this->faker->words(3),
1819
'status' => $this->faker->randomElement([200, 201, 202, 204, 300, 301, 302, 303, 304, 400, 401, 402, 403, 404, 405, 406, 422, 429, 500, 501, 502, 503, 504]),
1920
'method' => $this->faker->randomElements(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']),
2021
'route' => $this->faker->domainWord().'.'.$this->faker->randomElements(['index', 'create', 'store', 'show', 'edit', 'update', 'destroy']),

database/migrations/create_request_logs_table.php.stub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ return new class extends Migration
1515
$table->unsignedBigInteger('team_id')->nullable(); // Can be changed to the following if your application uses teams: $table->foreignId('team_id')->nullable()->constrained();
1616
$table->ipAddress('ip')->nullable();
1717
$table->string('session')->nullable();
18+
$table->json('middleware')->nullable();
1819
$table->unsignedSmallInteger('status')->nullable();
1920
$table->string('method')->nullable();
2021
$table->string('route')->nullable(); // Not all routes needs to have a name

src/Models/RequestLog.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class RequestLog extends Model implements RequestLoggerInterface
3131
protected $fillable = [
3232
'ip',
3333
'session',
34+
'middleware',
3435
'status',
3536
'method',
3637
'route',
@@ -44,6 +45,7 @@ class RequestLog extends Model implements RequestLoggerInterface
4445
];
4546

4647
protected $casts = [
48+
'middleware' => 'json',
4749
'headers' => 'json',
4850
'payload' => 'json',
4951
'response_headers' => 'json',
@@ -98,6 +100,7 @@ public function log(Request $request, $response, ?int $time = null, ?int $memory
98100
$model->uuid = $request->getUniqueId();
99101
$model->ip = $request->ip();
100102
$model->session = $request->hasSession() ? $request->session()->getId() : null;
103+
$model->middleware = array_values(optional($request->route())->gatherMiddleware() ?? []);
101104
$model->method = $request->getMethod();
102105
$model->route = $request->route()->getName();
103106
$model->path = $request->path();

0 commit comments

Comments
 (0)