Maison  >  Article  >  développement back-end  >  À propos de l'utilisation des journaux Laravel

À propos de l'utilisation des journaux Laravel

不言
不言original
2018-06-13 15:26:152317parcourir

Cet article présente principalement l'utilisation des journaux Laravel. Il analyse en détail les fonctions, les définitions, les méthodes d'utilisation et les précautions associées sous forme d'exemples. Les amis dans le besoin peuvent se référer à

Cet article. explique les exemples d'utilisation des journaux Laravel. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

La version de Laravel utilisée ici est toujours la 5.2

Les journaux sont très importants. Le mode débogage peut être activé pour le développement local, mais l'affichage des journaux des projets en ligne est un moyen très simple et efficace de déboguer. Laravel intègre la bibliothèque de journalisation Monolog pour fournir une variété de processeurs de journaux puissants.

Laravel prend en charge les méthodes de journalisation simples, quotidiennes, syslog et errorlog. Par exemple, si vous souhaitez que les fichiers journaux soient générés quotidiennement au lieu de générer un seul fichier, vous devez définir la valeur du journal dans le fichier de configuration config/app.php comme suit :

'log' => 'daily'

La configuration par défaut du système est unique

#config/app.php:111
'log' => env('APP_LOG', 'single'),

Jetons un coup d'œil à la façon dont Laravel configure les journaux.

#vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:36
protected $bootstrappers = [
    'Illuminate\Foundation\Bootstrap\DetectEnvironment',
    'Illuminate\Foundation\Bootstrap\LoadConfiguration',
    'Illuminate\Foundation\Bootstrap\ConfigureLogging',
    'Illuminate\Foundation\Bootstrap\HandleExceptions',
    'Illuminate\Foundation\Bootstrap\RegisterFacades',
    'Illuminate\Foundation\Bootstrap\RegisterProviders',
    'Illuminate\Foundation\Bootstrap\BootProviders',
];
<?php
namespace Illuminate\Foundation\Bootstrap;
use Illuminate\Log\Writer;
use Monolog\Logger as Monolog;
use Illuminate\Contracts\Foundation\Application;
class ConfigureLogging
{
/**
 * Bootstrap the given application.
 *
 * @param \Illuminate\Contracts\Foundation\Application $app
 * @return void
 */
public function bootstrap(Application $app)
{
  $log = $this->registerLogger($app);
  // If a custom Monolog configurator has been registered for the application
  // we will call that, passing Monolog along. Otherwise, we will grab the
  // the configurations for the log system and use it for configuration.
  if ($app->hasMonologConfigurator()) {
    call_user_func(
      $app->getMonologConfigurator(), $log->getMonolog()
    );
  } else {
    $this->configureHandlers($app, $log);
  }
}

Si vous personnalisez la configuration Monolog, utilisez la condition if, et la valeur par défaut est else

protected function configureHandlers(Application $app, Writer $log)
{
    $method = &#39;configure&#39;.ucfirst($app[&#39;config&#39;][&#39;app.log&#39;]).&#39;Handler&#39;;
    $this->{$method}($app, $log);
}
/**
* Configure the Monolog handlers for the application.
*
* @param \Illuminate\Contracts\Foundation\Application $app
* @param \Illuminate\Log\Writer $log
* @return void
*/
protected function configureSingleHandler(Application $app, Writer $log)
{
     $log->useFiles(
       $app->storagePath().&#39;/logs/laravel.log&#39;, #存储文件
       $app->make(&#39;config&#39;)->get(&#39;app.log_level&#39;, &#39;debug&#39;) #存储级别
     );
}

La méthode useFiles ici consiste à enregistrer le gestionnaire de journaux de fichiers signle et à définir le fichier de stockage et le niveau de stockage.

Voici 4 méthodes d'enregistrement de traitement des journaux lors de l'initialisation des journaux.

public function useFiles($path, $level = &#39;debug&#39;) #单一文件
public function useDailyFiles($path, $days = 0, $level = &#39;debug&#39;) #每日生成
public function useSyslog($name = &#39;laravel&#39;, $level = &#39;debug&#39;) #系统日志的方式
public function useErrorLog($level = &#39;debug&#39;, $messageType = ErrorLogHandler::OPERATING_SYSTEM) #等同于php的error_log方式

Les informations d'initialisation du journal sont essentiellement les mêmes que ci-dessus.

Vous pouvez utiliser la façade Log pour écrire des informations de journal dans le journal :

Huit niveaux de journal : urgence, alerte, critique, erreur, avertissement, avis, information et débogage.

Log::emergency($error);
Log::alert($error);
Log::critical($error);
Log::error($error);
Log::warning($error);
Log::notice($error);
Log::info($error);
Log::debug($error);

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Plus de contenu connexe Veuillez faire attention au site Web chinois PHP !

Recommandations associées :

À propos de l'utilisation des cookies dans Laravel5

Découvrez plusieurs utilisations des événements modèles de Laravel

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!

Déclaration:
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