Heim > Artikel > Backend-Entwicklung > Laravel ändert den Standardnamen und den Speicherort der Protokolldatei
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
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 = 'configure'.ucfirst($app['config']['app.log']).'Handler'; $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('config'); $filename = $config->get('app.log_path', '/var/log/nginx/app/system') . '/' . $config->get('app.log_name', 'laravel') . '.log'; $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('config'); $filename = $config->get('app.log_path', '/var/log/nginx/app/system') . '/' . $config->get('app.log_name', 'laravel') . '.log'; $log->useDailyFiles( $filename, $app->make('config')->get('app.log_max_files', 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('config')->get('app.log_name', 'laravel')); } /** * 设置应用errorlog模式下的Monolog处理程序 * * @param \Illuminate\Contracts\Foundation\Application $app * @param \Illuminate\Log\Writer $log * @return void */ protected function configureErrorlogHandler(Application $app, Writer $log) { $log->useErrorLog(); } }
Fügen Sie
APP_NAME=phphub
in config/app hinzu . Fügen Sie
/** * 应用程序名称 */ 'name' => env('APP_NAME', 'laravel'), /** * 日志位置 */ 'log_path' => '/var/log/nginx/app/' . env('APP_NAME', 'laravel'), /** * 日志文件名称 */ 'log_name' => env('APP_NAME', 'laravel'), /** * 日志文件最大数 */ 'log_max_files' => '30',
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!