Heim  >  Artikel  >  Backend-Entwicklung  >  Laravel ändert den Standardnamen und den Speicherort der Protokolldatei

Laravel ändert den Standardnamen und den Speicherort der Protokolldatei

不言
不言Original
2018-07-05 14:42:531961Durchsuche

In diesem Artikel wird hauptsächlich erläutert, wie der Standardprotokolldateiname und der Speicherort in Laravel geändert werden. Jetzt kann ich ihn mit Ihnen teilen.

Ändern Sie das Standardprotokoll Standort

In unserer üblichen Entwicklung legen wir die Protokolldateien von Laravel möglicherweise immer am Standardspeicherort ab, ohne dass dies Auswirkungen hat. Wenn unser Projekt jedoch vollständig bereitgestellt ist, wenn es online geht, und jede Bereitstellung den neuesten Code in Git enthält, dann Zu diesem Zeitpunkt werden unsere Protokolle jedes Mal gelöscht, was zeigt, dass dies nicht unseren Erwartungen entspricht. Glücklicherweise bietet uns Laravel eine Möglichkeit, dies zu ändern.

Hier nehmen wir das Beispiel der Platzierung von /var/log/nginx/app/phphub/phphub.log

Protokollverarbeitungsklasse hinzufügen#

Zuerst erstellen wir eine neue Datei , app /Foundation/Bootstrap/ConfigureLogging.php, der Code lautet wie folgt:

<?php
namespace App\Foundation\Bootstrap;
use Illuminate\Log\Writer;
use Illuminate\Contracts\Foundation\Application;
class ConfigureLogging
{
 /**
 * 设置应用的Monolog处理程序
 *
 * @param \Illuminate\Contracts\Foundation\Application $app
 * @param \Illuminate\Log\Writer $log
 * @return void
 */
 public 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);
 }
 /**
 * 设置应用single模式下的Monolog处理程序
 *
 * @param \Illuminate\Contracts\Foundation\Application $app
 * @param \Illuminate\Log\Writer $log
 * @return void
 */
 protected function configureSingleHandler(Application $app, Writer $log)
 {
 $config = $app->make(&#39;config&#39;);
 $filename = $config->get(&#39;app.log_path&#39;, &#39;/var/log/nginx/app/system&#39;) . &#39;/&#39; . $config->get(&#39;app.log_name&#39;, &#39;laravel&#39;) . &#39;.log&#39;;
 $log->useFiles($filename);
 }
 /**
 * 设置应用daily模式下的Monolog处理程序
 *
 * @param \Illuminate\Contracts\Foundation\Application $app
 * @param \Illuminate\Log\Writer $log
 * @return void
 */
 protected function configureDailyHandler(Application $app, Writer $log)
 {
 $config = $app->make(&#39;config&#39;);
 $filename = $config->get(&#39;app.log_path&#39;, &#39;/var/log/nginx/app/system&#39;) . &#39;/&#39; . $config->get(&#39;app.log_name&#39;, &#39;laravel&#39;) . &#39;.log&#39;;
 $log->useDailyFiles(
 $filename,
 $app->make(&#39;config&#39;)->get(&#39;app.log_max_files&#39;, 5)
 );
 }
 /**
 * 设置应用syslog模式下的Monolog处理程序
 *
 * @param \Illuminate\Contracts\Foundation\Application $app
 * @param \Illuminate\Log\Writer $log
 * @return void
 */
 protected function configureSyslogHandler(Application $app, Writer $log)
 {
 $log->useSyslog($app->make(&#39;config&#39;)->get(&#39;app.log_name&#39;, &#39;laravel&#39;));
 }
 /**
 * 设置应用errorlog模式下的Monolog处理程序
 *
 * @param \Illuminate\Contracts\Foundation\Application $app
 * @param \Illuminate\Log\Writer $log
 * @return void
 */
 protected function configureErrorlogHandler(Application $app, Writer $log)
 {
 $log->useErrorLog();
 }
}

Konfigurieren Sie den Protokollspeicherpfad #

Fügen Sie

APP_NAME=phphub

in config/app hinzu . Fügen Sie

/**
 * 应用程序名称
 */
&#39;name&#39; => env(&#39;APP_NAME&#39;, &#39;laravel&#39;),
/**
 * 日志位置
 */
&#39;log_path&#39; => &#39;/var/log/nginx/app/&#39; . env(&#39;APP_NAME&#39;, &#39;laravel&#39;),
/**
 * 日志文件名称
 */
&#39;log_name&#39; => env(&#39;APP_NAME&#39;, &#39;laravel&#39;),
/**
 * 日志文件最大数
 */
&#39;log_max_files&#39; => &#39;30&#39;,

zu PHP hinzu und wenden Sie unsere neue Verarbeitungsklasse an Wir können
verwenden, um es zu testen, und das Protokoll sollte in

aufgezeichnet werden.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Log::info('test log info');Verwandte Empfehlungen: /var/log/nginx/app/phphub/phphub.log

So zeigen Sie Protokolle im Laravel-Terminal an

Das obige ist der detaillierte Inhalt vonLaravel ändert den Standardnamen und den Speicherort der Protokolldatei. 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