Heim > PHP-Framework > Laravel > Methode zum Schreiben von Laravel-Protokollen

Methode zum Schreiben von Laravel-Protokollen

WBOY
Freigeben: 2023-05-20 17:36:08
Original
1610 Leute haben es durchsucht

Laravel ist ein sehr beliebtes PHP-Entwicklungsframework. Seine Flexibilität und leistungsstarken Funktionen werden von der Mehrheit der Entwickler geschätzt. Während des Anwendungsentwicklungsprozesses ist die Protokollierung eine sehr wichtige Aufgabe, die Entwicklern helfen kann, Probleme schnell zu lokalisieren und zu lösen. In diesem Artikel wird vorgestellt, wie man Protokolle in Laravel schreibt.

  1. Protokollinformationen konfigurieren

Die Protokollkonfigurationsinformationen in Laravel werden in der Datei logging.php im Konfigurationsverzeichnis gespeichert. In dieser Datei werden der Standardprotokolltreiber und der Protokollkanal definiert.

Sie können den Protokolltreiber und den Protokollkanal nach Bedarf anpassen. Zu den gängigsten Arten von Protokolltreibern gehören: Einzeldatei- und Tagesprotokolldateien. Unter anderem zeichnet der Einzeldateimodus alle Protokolle in einer Datei auf, während im Tagesprotokolldateimodus eine neue Protokolldatei basierend auf dem Datum jedes Tages erstellt wird.

Nachdem wir den Protokolltreibertyp in der Konfigurationsdatei ausgewählt haben, müssen wir auch den Protokollkanal für die Verwendung beim Aufzeichnen von Protokollen in der Anwendung konfigurieren.

  1. Verwenden Sie Log Facade, um Protokolle zu schreiben

Laravel bietet eine Log Facade, die eine Methode zum Aufzeichnen von Protokollen bietet und es uns ermöglicht, Protokollinformationen einfach in Protokolldateien aufzuzeichnen. Verwenden Sie Log:: direkt, um Log Facade aufzurufen, und verwenden Sie info() oder debug(), um Protokollinformationen aufzuzeichnen. Wie unten gezeigt: Log:: 来调用 Log Facade,使用 info() 或者 debug() 记录日志信息即可。如下所示:

use IlluminateSupportFacadesLog;

// 记录 Info 级别的日志信息
Log::info('This is an info level message.');

// 记录 Debug 级别的日志信息
Log::debug('This is a debug level message.');
Nach dem Login kopieren

可以在日志配置文件中定义不同的 Log channel,并设置不同的处理器(Handlers),以便将日志信息存储到不同的位置。

如下所示:

use IlluminateSupportFacadesLog;

// 使用 MyLog 通道记录 Info 级别的日志信息
Log::channel('MyLog')->info('This is an info level message.');

// 使用 MyLog 通道记录 Debug 级别的日志信息
Log::channel('MyLog')->debug('This is a debug level message.');
Nach dem Login kopieren
  1. 使用 Monolog 写日志

Monolog 是 PHP 中的一款强大的日志工具,Laravel 使用 Monolog 作为其日志组件。Monolog 提供了多种处理器和格式器,允许我们对日志进行更加细致的配置。

在 Laravel 中,我们可以使用 Monolog 来处理并记录日志信息。Laravel 通过容器绑定实现了 Monolog 的封装。我们可以通过容器绑定自定义 Monolog 实例,并命名每个实例,以便在应用程序中引用它。

如下所示,我们可以在 AppServiceProvider 中绑定一个新的 Monolog 实例:

use MonologLogger;
use MonologHandlerStreamHandler;

public function register()
{
    $this->app->bind('myLogger', function () {
        $log = new Logger('myLog');
        $log->pushHandler(new StreamHandler(storage_path('logs/myLog.log')), Logger::INFO);
        return $log;
    });
}
Nach dem Login kopieren

然后,在应用程序中使用该实例记录日志信息。如下所示:

use IlluminateSupportFacadesLog;

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

除了使用默认的日志配置文件,我们还可以使用自定义的日志配置文件来配置 Monolog。如下所示,在自定义日志配置文件中使用 Monolog 的 addRecord() 方法添加日志信息:

use MonologLogger;

return [
    'myLog' => [
        'driver' => 'monolog',
        'level' => 'debug',
        'handler_with' => [
            [
                'handler' => StreamHandler::class,
                'options' => [
                    'level' => Logger::INFO,
                    'stream' => storage_path('logs/mylog.log'),
                    'bubble' => true
                ]
            ]
        ],
        'tap' => [MyLogChannel::class]
    ]
];
Nach dem Login kopieren

需要注意,这里的 taprrreee

Sie können in der Protokollkonfigurationsdatei verschiedene Protokollkanäle definieren und verschiedene Handler (Handler) einrichten, um Protokollinformationen an verschiedenen Orten zu speichern.
  1. Wie unten gezeigt:
  2. rrreee
      Verwenden Sie Monolog, um Protokolle zu schreiben

      Monolog ist ein leistungsstarkes Protokollierungstool in PHP, Laravel verwendet Monolog als Protokollierungskomponente. Monolog bietet eine Vielzahl von Prozessoren und Formatierern, sodass wir Protokolle detaillierter konfigurieren können.

      🎜In Laravel können wir Monolog verwenden, um Protokollinformationen zu verarbeiten und aufzuzeichnen. Laravel implementiert die Monolog-Kapselung durch Containerbindung. Wir können Monolog-Instanzen durch Containerbindung anpassen und jede Instanz benennen, damit wir sie in unserer Anwendung referenzieren können. 🎜🎜Wie unten gezeigt, können wir eine neue Monolog-Instanz in AppServiceProvider binden: 🎜rrreee🎜Dann verwenden Sie diese Instanz, um Protokollinformationen in der Anwendung aufzuzeichnen. Wie unten gezeigt: 🎜rrreee🎜Zusätzlich zur Verwendung der Standardprotokollkonfigurationsdatei können wir auch eine benutzerdefinierte Protokollkonfigurationsdatei verwenden, um Monolog zu konfigurieren. Wie unten gezeigt, verwenden Sie die Methode addRecord() von Monolog, um Protokollinformationen in der benutzerdefinierten Protokollkonfigurationsdatei hinzuzufügen: 🎜rrreee🎜Es ist zu beachten, dass der tap hier als konfiguriert ist benutzerdefinierte Protokollkanalinstanz. Wir müssen die Instanz bei der Anwendung registrieren, damit sie zum Aufzeichnen von Protokollierungsinformationen verwendet werden kann. 🎜🎜🎜Zusammenfassung🎜🎜🎜In Laravel ist die Protokollierung eine notwendige Aufgabe für die Anwendungsentwicklung. Durch die Konfiguration der Protokollkonfigurationsdatei und die Verwendung von Log Facade und Monolog können wir Protokollinformationen einfach aufzeichnen und verarbeiten. 🎜🎜Natürlich stellen wir hier nur die grundlegendste Methode zum Schreiben von Protokollen in Laravel vor. Wenn Sie ein tieferes Verständnis benötigen, können Sie die offizielle Laravel-Dokumentation überprüfen oder nach relevanten Informationen suchen. 🎜

    Das obige ist der detaillierte Inhalt vonMethode zum Schreiben von Laravel-Protokollen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    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
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage