Heim  >  Artikel  >  Backend-Entwicklung  >  Über die Nutzung von Laravel-Protokollen

Über die Nutzung von Laravel-Protokollen

不言
不言Original
2018-06-13 15:26:152355Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung von Laravel-Protokollen vor und analysiert die Funktionen, Definitionen, Verwendungsmethoden und zugehörigen Vorsichtsmaßnahmen von Laravel-Protokollen im Detail in Form von Beispielen. Freunde in Not können sich auf

Diesen Artikel beziehen erklärt die Beispiele für 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'

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 die if-Bedingung, und die Standardeinstellung ist 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;) #存储级别
     );
}

Die useFiles-Methode besteht hier darin, den Signle-File-Log-Handler zu registrieren und die Speicherdatei und die Speicherebene festzulegen.

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方式

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);

Das Obige ist der gesamte Inhalt dieses Artikels, der für das Lernen aller hilfreich sein wird Aufmerksamkeit auf weitere verwandte Inhalte der chinesischen PHP-Website!

Verwandte Empfehlungen:

Über die Verwendung von Cookies in Laravel5

Erfahren Sie verschiedene Verwendungsmöglichkeiten der Modellereignisse von Laravel

Das obige ist der detaillierte Inhalt vonÜber die Nutzung von Laravel-Protokollen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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