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'
Le la configuration par défaut du système est unique
#config/app.php:111 'log' => env('APP_LOG', 'single'),
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); } }
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 = 'configure'.ucfirst($app['config']['app.log']).'Handler'; $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().'/logs/laravel.log', #存储文件 $app->make('config')->get('app.log_level', 'debug') #存储级别 ); }
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 = 'debug') #单一文件 public function useDailyFiles($path, $days = 0, $level = 'debug') #每日生成 public function useSyslog($name = 'laravel', $level = 'debug') #系统日志的方式 public function useErrorLog($level = 'debug', $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);
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 !