So verwenden Sie die Protokollierung in ThinkPHP6

王林
Freigeben: 2023-06-20 08:37:36
Original
3663 Leute haben es durchsucht

Mit der rasanten Entwicklung des Internets und von Webanwendungen wird die Protokollverwaltung immer wichtiger. Bei der Entwicklung von Webanwendungen ist die Suche und Lokalisierung von Problemen ein sehr kritisches Thema. Ein Protokollierungssystem ist ein sehr effektives Werkzeug, das uns bei der Bewältigung dieser Aufgaben helfen kann. ThinkPHP6 bietet ein leistungsstarkes Protokollierungssystem, das Anwendungsentwicklern dabei helfen kann, in Anwendungen auftretende Ereignisse besser zu verwalten und zu verfolgen.

In diesem Artikel erfahren Sie, wie Sie das Protokollierungssystem in ThinkPHP6 verwenden und wie Sie das Protokollierungssystem zum besseren Debuggen und Verwalten von Anwendungen verwenden.

1. Das Protokollierungssystem von ThinkPHP6

Das Protokollierungssystem von ThinkPHP6 wird über die Monolog-Bibliothek implementiert. Monolog ist eine PHP-Protokollierungsbibliothek, die Protokollinformationen an verschiedenen Orten aufzeichnen kann, z. B. in Dateien, Datenbanken, SMTP-Servern usw.

Mit Monolog in ThinkPHP6 kann die Protokollverwaltung sehr bequem realisiert werden. Standardmäßig verwendet ThinkPHP6 einen Dateilogger, um Protokollinformationen im Protokollordner im Laufzeitverzeichnis des Projekts aufzuzeichnen und diese separat mit dem Datum als Dateinamen zu speichern. Wir können in der Konfigurationsdatei einige benutzerdefinierte Einstellungen vornehmen, z. B. das Speicherverzeichnis ändern, die Protokollebene ändern, einen anderen Aufzeichnungsprozessor auswählen usw.

2. Anwendungsfälle

Im vorherigen Entwicklungsprozess war es manchmal schwierig, Probleme zu lokalisieren. Zu diesem Zeitpunkt können wir das Protokollsystem verwenden, um den Betriebsstatus des Systems und andere wichtige Informationen aufzuzeichnen, was bequemer ist um Probleme zu lokalisieren. Im Folgenden finden Sie eine kurze Einführung in die Verwendung von Protokollen.

(1) Protokollierung

In ThinkPHP6 unterteilt Monolog die Protokollebenen in die folgenden Ebenen:

  • DEBUG: Detaillierte Debug-Informationen.
  • INFO: Aussagekräftige Ereignisinformationen, z. B. Benutzeranmeldung.
  • WARNUNG: Es liegen Informationen zu Warnereignissen vor, die sich jedoch nicht auf das System auswirken.
  • FEHLER: Im System ist ein Fehler aufgetreten, der jedoch keinen Einfluss auf den weiteren Betrieb des Systems hat.
  • KRITISCH: Im System ist ein kritischer Fehler aufgetreten und das System kann nicht weiter ausgeführt werden.
  • ALARM: Fehler, bei denen sofortige Maßnahmen ergriffen werden sollten, z. B. Nichtverfügbarkeit der Datenbank.
  • NOTFALL: Das System kann nicht ausgeführt werden, da Kernkomponenten nicht vorhanden oder falsch konfiguriert sind.

Die Protokollierung erfolgt über die Log-Fassadenklasse Log. Mit der Fassadenklasse Log können Sie Controller, Modelle, Middleware usw. aufzeichnen. In der Schnittstelle der Fassadenklasse wurde eine Reihe verfügbarer Methoden auf Protokollebene definiert, die wir nur noch aufrufen müssen.

Zum Beispiel:

use think acadeLog; Log::error('This is an error message.'); Log::warning('This is a warning message.'); Log::info('This is an information message.');
Nach dem Login kopieren

(2) Überprüfen Sie das Protokoll

Während des Entwicklungsprozesses müssen wir möglicherweise die Protokollinformationen überprüfen, um Probleme im Programm leichter finden zu können. Sie können die Protokolle auf folgende Weise anzeigen:

  • Durch Protokolldateien anzeigen: Sie finden die aufgezeichneten Protokolldateien im Protokollordner unter dem Laufzeitverzeichnis des Projekts und können die Protokollinformationen mit Tools wie Texteditoren anzeigen.
  • Über die Konsole anzeigen: Sie können den folgenden Befehl im Terminal eingeben, um die Protokollinformationen anzuzeigen:
php think list log
Nach dem Login kopieren

(3) Benutzerdefinierter Aufzeichnungsprozessor

ThinkPHP6 bietet einige Standardaufzeichnungsprozessoren, wie z. B. Dateiprozessoren, Logentries-Prozessoren usw . Warten. Wir können Plattenprozessoren auch an spezifische Anforderungen anpassen.

Zum Beispiel können wir einen Prozessor erstellen, der sich beim Cloud-Speicher anmeldet:

use MonologHandlerAbstractProcessingHandler; class CloudStorageHandler extends AbstractProcessingHandler { public function __construct() { // 连接云存储,初始化操作 } protected function write(array $record): void { // 将记录写入到云存储中 } // 其他自定义方法 }
Nach dem Login kopieren

Als nächstes müssen wir diesen Prozessor in der Konfigurationsdatei registrieren:

'handlers' => [ 'cloud_storage' => [ 'class' => pploghandlerCloudStorageHandler::class, ], ], 'channels' => [ 'default' => [ 'handlers' => ['cloud_storage'], ], ],
Nach dem Login kopieren

An diesem Punkt können wir ihn in der Anwendung verwenden. Registrierter Prozessor:

Log::channel('cloud_storage')->info('This is an information message.');
Nach dem Login kopieren

3. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie das Protokollierungssystem von ThinkPHP6 verwenden, um den Systemlaufstatus und wichtige Informationen aufzuzeichnen, und wie Sie das Protokollierungssystem zum Debuggen bei der Lokalisierung von Problemen verwenden. Außerdem wird erläutert, wie Sie den Datensatzprozessor an spezifische Anforderungen anpassen können. Ich hoffe, dass dieser Artikel den Lesern helfen kann, das Protokollierungssystem in ThinkPHP6 besser zu nutzen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Protokollierung in ThinkPHP6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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