Maison > php教程 > PHP开发 > Explication détaillée de l'utilisation des journaux Laravel

Explication détaillée de l'utilisation des journaux Laravel

高洛峰
Libérer: 2016-12-27 10:09:23
original
1525 Les gens l'ont consulté

Les exemples de cet article décrivent l'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 de débogage très simple et efficace. 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'
Copier après la connexion

Le la configuration par défaut du système est unique

#config/app.php:111
'log' => env('APP_LOG', 'single'),
Copier après la connexion

Voyons comment 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);
  }
}
Copier après la connexion

Si vous personnalisez la configuration de 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;) #存储级别
     );
}
Copier après la connexion

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 quatre 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方式
Copier après la connexion

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);
Copier après la connexion

J'espère que cet article sera utile à la conception de programmes PHP basés sur le framework Laravel.

Pour des articles plus détaillés sur l'utilisation des journaux Laravel, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
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
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal