Die Beispiele in diesem Artikel beschreiben die Verwendung von Laravel-Protokollen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Die hier verwendete Laravel-Version ist immer noch 5.2
Protokolle sind sehr wichtig. Der Debug-Modus kann für die lokale Entwicklung aktiviert werden, aber das Anzeigen von Protokollen für Online-Projekte ist eine sehr einfache und effektive Möglichkeit zum Debuggen. Laravel integriert die Monolog-Protokollierungsbibliothek, um eine Vielzahl leistungsstarker Protokollprozessoren bereitzustellen.
Laravel unterstützt die Protokollierungsmethoden Single, Daily, Syslog und Errorlog. Wenn Sie beispielsweise möchten, dass Protokolldateien täglich generiert werden, anstatt eine einzelne Datei zu generieren, sollten Sie den Protokollwert in der Konfigurationsdatei config/app.php wie folgt festlegen:
'log' => 'daily'
The Die Standardkonfiguration des Systems ist Single
#config/app.php:111 'log' => env('APP_LOG', 'single'),
Sehen wir uns an, wie Laravel Protokolle konfiguriert.
#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); } }
Wenn Sie die Monolog-Konfiguration anpassen, verwenden Sie if-Bedingungen und verwenden Sie standardmäßig 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') #存储级别 ); }
Die useFiles-Methode dient hier dazu, den Signaturdatei-Protokollhandler zu registrieren und den Speicher festzulegen Datei- und Speicherebene.
Im Folgenden sind 4 Registrierungsmethoden für die Protokollverarbeitung beim Initialisieren von Protokollen aufgeführt.
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方式
Die Protokollinitialisierungsinformationen sind im Wesentlichen die oben genannten.
Sie können die Protokollfassade verwenden, um Protokollinformationen in das Protokoll zu schreiben:
Acht Protokollebenen: Notfall, Warnung, kritisch, Fehler, Warnung, Hinweis, Info und Debug.
Log::emergency($error); Log::alert($error); Log::critical($error); Log::error($error); Log::warning($error); Log::notice($error); Log::info($error); Log::debug($error);
Ich hoffe, dass dieser Artikel für jedermann beim PHP-Programmdesign basierend auf dem Laravel-Framework hilfreich sein wird.
Ausführlichere Erklärungen zur Verwendung von Laravel-Protokollen und verwandte Artikel finden Sie auf der chinesischen PHP-Website!