이 글의 예시에서는 Laravel 로그의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
여기에 사용된 Laravel 버전은 아직 5.2입니다.
로그는 매우 중요합니다. 로컬 개발을 위해 디버그 모드를 켤 수 있지만 온라인 프로젝트의 로그를 보는 것은 매우 간단하고 효과적인 디버깅 방법입니다. Laravel은 Monolog 로깅 라이브러리를 통합하여 다양하고 강력한 로그 프로세서를 제공합니다.
Laravel은 단일, 일일, syslog 및 오류 로그 로깅 방법을 지원합니다. 예를 들어, 단일 파일을 생성하는 대신 매일 로그 파일을 생성하려면 구성 파일 config/app.php에서 로그 값을 다음과 같이 설정해야 합니다.
'log' => 'daily'
시스템 기본 구성은 단일
#config/app.php:111 'log' => env('APP_LOG', 'single'),
라라벨이 로그를 어떻게 구성하는지 살펴보겠습니다.
#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); } }
Monlog 구성을 사용자 정의하는 경우 if 조건을 사용하고 else를 기본값으로 합니다
protected function configureHandlers(Application $app, Writer $log) { $method = 'configure'.ucfirst($app['config']['app.log']).'Handler'; $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().'/logs/laravel.log', #存储文件 $app->make('config')->get('app.log_level', 'debug') #存储级别 ); }
여기서 useFiles 메소드는 signle 파일 로그 핸들러를 등록하고 스토리지를 설정하는 것입니다. 파일 및 저장 수준.
로그 초기화 시 로그 처리 등록 방법은 4가지입니다.
public function useFiles($path, $level = 'debug') #单一文件 public function useDailyFiles($path, $days = 0, $level = 'debug') #每日生成 public function useSyslog($name = 'laravel', $level = 'debug') #系统日志的方式 public function useErrorLog($level = 'debug', $messageType = ErrorLogHandler::OPERATING_SYSTEM) #等同于php的error_log方式
로그 초기화 정보는 기본적으로 위와 같습니다.
로그 파사드를 사용하여 로그에 로그 정보를 쓸 수 있습니다.
8가지 로그 수준: 긴급, 경고, 심각, 오류, 경고, 알림, 정보 및 디버그.
Log::emergency($error); Log::alert($error); Log::critical($error); Log::error($error); Log::warning($error); Log::notice($error); Log::info($error); Log::debug($error);
이 글이 Laravel 프레임워크를 기반으로 하는 모든 분들의 PHP 프로그램 설계에 도움이 되기를 바랍니다.
라라벨 로그 사용법에 대한 자세한 설명과 관련 글은 PHP 중국어 홈페이지를 참고해주세요!