이 글은 주로 Laravel에서 기본 로그 파일 이름과 위치를 변경하는 방법을 소개합니다. 이제 특정 참조 값을 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.
기본 로그 위치를 수정하세요
언제나 가능합니다. 일반적인 개발에 사용합니다. Laravel의 로그 파일을 기본 위치에 배치하는 것은 아무런 영향을 미치지 않습니다. 그러나 프로젝트가 온라인 상태일 때 완전히 배포되고 각 배포가 git의 최신 코드라면 로그는 매번 지워질 것입니다. 다행히도 laravel은 이를 수정할 수 있는 방법을 제공합니다.
여기서 /var/log/nginx/app/phphub/phphub.log에 배치하는 예를 들어보겠습니다.
먼저 app/Foundation/Bootstrap/ConfigureLogging.php라는 새 파일을 만듭니다. , 코드는 다음과 같습니다:
<?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(); } }
Add
APP_NAME=phphub
in .env Add
/** * 应用程序名称 */ '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',
Bootstrap/app.php 수정 , 대가로 $ 앱 앞에
$app->configureMonologUsing(function($monolog) use ($app) { $configureLogging = new App\Foundation\Bootstrap\ConfigureLogging(); $configureLogging->configureHandlers($app, $app->log); });
코드를 추가하세요. 이제 Log::info('test log info');
测试一下,应该就会将日志记录在/var/log/nginx/app/phphub/phphub.log
를 사용할 수 있습니다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!
관련 추천:
위 내용은 Laravel은 기본 로그 파일 이름과 위치를 변경합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!