Heim > PHP-Framework > Laravel > Hauptteil

Detailliertes Beispiel für Laravel, das Middleware zum Aufzeichnen von Benutzeranfrageprotokollen verwendet

WBOY
Freigeben: 2022-04-26 21:13:10
nach vorne
3925 Leute haben es durchsucht

Dieser Artikel bringt Ihnen relevantes Wissen über laravel, in dem hauptsächlich verwandte Probleme bei der Verwendung von Middleware zum Aufzeichnen von Benutzeranforderungsprotokollen vorgestellt werden, einschließlich der Erstellung von Middleware, der Registrierung von Middleware, der Aufzeichnung des Benutzerzugriffs usw. Ich hoffe, wir schauen uns das gemeinsam an es wird für alle hilfreich sein.

Detailliertes Beispiel für Laravel, das Middleware zum Aufzeichnen von Benutzeranfrageprotokollen verwendet

【Verwandte Empfehlung: Laravel-Video-Tutorial

1. Middleware erstellen

  • Sie können Befehle verwenden, um sie zu erstellen, oder Sie können sie direkt erstellen
php artisan make:middleware 中间件名称(TraceRecordMiddleware)
Nach dem Login kopieren

2. Registrieren Sie Middleware

  • Da verschiedene Versionen von Laravel unterschiedliche Methoden zur Registrierung des Durchschnittspreises haben, hier als Beispiel Version 5.6.
  • Fügen Sie einfach den folgenden Code direkt zum Projekt hinzu: bootstarp/app.php Benutzerzugriffsprotokolle
Tatsächlich kann der mittlere Preis als Anforderungs-Interceptor verstanden werden

Damit er die Daten vor der Anfrage des Benutzers sowie die Antwortdaten nach der Anfrage des Benutzers abfangen kann

Die Vorlage basiert auf der mittleren Preisvorlage auf dem folgenden
  • $app->middleware([
         App\Http\Middleware\TraceRecordMiddleware::class
     ]);
    Nach dem Login kopieren
  • Vier. Zeichnen Sie die Daten vor der Antwort des Benutzers auf
  • Sie müssen nur aufzeichnen, welche Routen der Benutzer besucht hat, aber nicht, welche Daten das System zurückgegeben hat
<?php

namespace App\Http\Middleware;

use Illuminate\Http\Request;

/**
 * Class TraceRecordMiddleware
 * @package App\Http\Middleware
 */
class TraceRecordMiddleware
{
    public function handle(Request $request, \Closure $next)
    {
        $response = $next($request);

        return $response;
    }
}
Nach dem Login kopieren

5 geantwortet

  • Manchmal möchten Sie wissen, was das System zurückgegeben hat, nachdem der Benutzer es angefordert hat. Was die Daten angeht

<?php

namespace App\Http\Middleware;

use App\Model\SystemTraceRecord;
use Illuminate\Http\Request;

/**
 * Class TraceRecordMiddleware
 * @package App\Http\Middleware
 */
class TraceRecordMiddleware
{
    public function handle(Request $request, \Closure $next)
    {
        
        //插入数据库日志表
        SystemTraceRecord::create([
            &#39;method&#39; => $request->getMethod(),
            'secure' => $request->getScheme(),
            'uri' => $request->getRequestUri(),
            'port' => $request->getPort()
        ]);

        return $next($request);
    }
}
Nach dem Login kopieren
6. Benutzerdetailsprotokoll aufzeichnen
  • Manchmal müssen Sie wissen, auf welche Benutzer zugegriffen hat

Das können Sie auch Sitzungsdaten direkt abrufen
<?php

namespace App\Http\Middleware;

use App\Model\SystemTraceRecord;
use Illuminate\Http\Request;

/**
 * Class TraceRecordMiddleware
 * @package App\Http\Middleware
 */
class TraceRecordMiddleware
{
    public function handle(Request $request, \Closure $next)
    {
        $response = $next($request);
        
        //响应后插入数据
        SystemTraceRecord::create([
            &#39;data&#39; => json_encode($request->all(), JSON_UNESCAPED_UNICODE),
            'response' => $response->getContent() ?: '',
            'status' => $response->getStatusCode()
        ]);

        return $response;
    }
}
Nach dem Login kopieren

[Verwandte Empfehlungen:
    Laravel-Video-Tutorial
  • ]

Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für Laravel, das Middleware zum Aufzeichnen von Benutzeranfrageprotokollen verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!