Heim > php教程 > PHP开发 > Detaillierte Erläuterung der Verwendung von Laravel-Protokollen

Detaillierte Erläuterung der Verwendung von Laravel-Protokollen

高洛峰
Freigeben: 2016-12-27 10:09:23
Original
1526 Leute haben es durchsucht

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'
Nach dem Login kopieren

The Die Standardkonfiguration des Systems ist Single

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

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);
  }
}
Nach dem Login kopieren

Wenn Sie die Monolog-Konfiguration anpassen, verwenden Sie if-Bedingungen und verwenden Sie standardmäßig 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;) #存储级别
     );
}
Nach dem Login kopieren

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 = &#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方式
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage