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

Detaillierte Erläuterung der Verwendung von Laravel-Protokollen

Dec 27, 2016 am 10:09 AM

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)