Maison > cadre php > Laravel > méthode d'écriture du journal Laravel

méthode d'écriture du journal Laravel

WBOY
Libérer: 2023-05-20 17:36:08
original
1610 Les gens l'ont consulté

Laravel est un framework de développement PHP très populaire. Sa flexibilité et ses fonctions puissantes sont privilégiées par la majorité des développeurs. Dans le processus de développement d'applications, l'enregistrement des journaux est une tâche très importante, qui peut aider les développeurs à localiser et à résoudre rapidement les problèmes. Cet article explique comment écrire des journaux dans Laravel.

  1. Configuration des informations du journal

Les informations de configuration du journal dans Laravel sont stockées dans le fichier logging.php dans le répertoire de configuration. Le pilote de journal par défaut et le canal de journal sont définis dans ce fichier.

Vous pouvez personnaliser le pilote de journal et le canal de journal selon vos besoins. Les types de pilotes de journaux les plus courants comprennent : un fichier unique et un fichier journal quotidien. Parmi eux, le mode fichier unique enregistre tous les journaux dans un seul fichier, tandis que le mode fichier journal quotidien crée un nouveau fichier journal basé sur la date de chaque jour.

Après avoir sélectionné le type de pilote de journal dans le fichier de configuration, nous devons également configurer le canal Log à utiliser lors de l'enregistrement des journaux dans l'application.

  1. Utilisez Log Facade pour écrire des journaux

Laravel fournit une Log Facade, qui fournit une méthode d'enregistrement des journaux, nous permettant d'enregistrer facilement les informations des journaux dans des fichiers journaux. Utilisez directement Log:: pour appeler Log Facade et utilisez info() ou debug() pour enregistrer les informations du journal. Comme indiqué ci-dessous : 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.');
Copier après la connexion

可以在日志配置文件中定义不同的 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.');
Copier après la connexion
  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;
    });
}
Copier après la connexion

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

use IlluminateSupportFacadesLog;

Log::channel('myLogger')->info('This is an info level message.');
Copier après la connexion

除了使用默认的日志配置文件,我们还可以使用自定义的日志配置文件来配置 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]
    ]
];
Copier après la connexion

需要注意,这里的 taprrreee

Vous pouvez définir différents canaux de journal dans le fichier de configuration du journal et configurer différents gestionnaires (gestionnaires) pour stocker les informations du journal à différents emplacements.
  1. Comme indiqué ci-dessous :
  2. rrreee
      Utilisez Monolog pour écrire des journaux

      Monolog est un puissant outil de journalisation en PHP et Laravel utilise Monolog comme composant de journalisation. Monolog fournit une variété de processeurs et de formateurs, nous permettant de configurer les journaux plus en détail.

      🎜Dans Laravel, nous pouvons utiliser Monolog pour traiter et enregistrer les informations du journal. Laravel implémente l'encapsulation Monolog via la liaison de conteneur. Nous pouvons personnaliser les instances Monolog via la liaison de conteneur et nommer chaque instance afin de pouvoir la référencer dans notre application. 🎜🎜Comme indiqué ci-dessous, nous pouvons lier une nouvelle instance Monolog dans AppServiceProvider : 🎜rrreee🎜Ensuite, utilisez cette instance pour enregistrer les informations de journal dans l'application. Comme indiqué ci-dessous : 🎜rrreee🎜En plus d'utiliser le fichier de configuration de journal par défaut, nous pouvons également utiliser un fichier de configuration de journal personnalisé pour configurer Monolog. Comme indiqué ci-dessous, utilisez la méthode addRecord() de Monolog pour ajouter des informations de journal dans le fichier de configuration du journal personnalisé : 🎜rrreee🎜Il convient de noter que le tap ici est configuré comme un instance de canal de journal personnalisée. Nous devons enregistrer l'instance auprès de l'application afin qu'elle puisse être utilisée pour enregistrer les informations de journalisation. 🎜🎜🎜Résumé🎜🎜🎜Dans Laravel, la journalisation est une tâche nécessaire au développement d'applications. En configurant le fichier de configuration du journal et en utilisant Log Facade et Monolog, nous pouvons facilement enregistrer les informations du journal et les traiter. 🎜🎜Bien sûr, nous présentons ici uniquement la méthode la plus élémentaire d'écriture de journaux dans Laravel. Si vous avez besoin d'une compréhension plus approfondie, vous pouvez consulter la documentation officielle de Laravel ou rechercher des informations pertinentes. 🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal