CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 거의 모든 CakePHP 클래스의 공통 조상인 LogTrait에서 제공됩니다.
로그인 파일을 구성할 수 있습니다config/app.php. 파일에 로그 섹션이 있으며, 여기에서 다음 스크린샷과 같이 로깅 옵션을 구성할 수 있습니다.
기본적으로 오류 및 디버그라는 두 가지 로그 수준이 이미 구성되어 있는 것을 볼 수 있습니다. 각각은 서로 다른 수준의 메시지를 처리합니다.
CakePHP는 아래와 같이 다양한 로깅 수준을 지원합니다. −
긴급 - 시스템 사용 불가
경고 − 즉시 조치를 취해야 합니다
심각 − 심각
오류 − 오류 조건
경고 − 경고 조건
주의사항 − 정상이나 심각한 상태
정보 − 정보 메시지
디버그 − 디버그 수준 메시지
로그 파일에 기록하는 방법에는 두 가지가 있습니다.
첫 번째는 정적 write() 메서드를 사용하는 것입니다. 다음은 정적 write() 메소드의 구문입니다.
구문 | write( 정수|문자열 $level, 혼합 $message, 문자열|배열 $context [] ) | ||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
기록할 메시지 내용 메시지 기록에 사용될 추가 데이터입니다. 사용할 로그 엔진을 추가로 필터링하는 데 특수 범위 키를 전달할 수 있습니다. 문자열이나 숫자 인덱스 배열이 전달되면 범위 키로 처리됩니다. 로깅 범위에 대한 자세한 내용은 CakeLogLog::config()를 참조하세요. |
||||||||
반품 | 부울 | ||||||||
설명 | 구성된 모든 로그 어댑터에 지정된 메시지와 유형을 기록합니다. 구성된 어댑터에는 $level 및 $message 변수가 모두 전달됩니다. $level은 다음 문자열/값 중 하나입니다. |
두 번째는 LogTrait
를 사용하는 모든 항목에서 사용할 수 있는log() 단축키 기능을 사용하는 것입니다. log()를 호출하면 내부적으로 Log::write() −
<?php use Cake\Http\Middleware\CsrfProtectionMiddleware; use Cake\Routing\Route\DashedRoute; use Cake\Routing\RouteBuilder; $routes->setRouteClass(DashedRoute::class); $routes->scope('/', function (RouteBuilder $builder) { $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true, ])); $builder->applyMiddleware('csrf'); //$builder->connect('/pages', ['controller'=>'Pages','action'=>'display', 'home']); $builder->connect('logex',['controller'=>'Logexs','action'=>'index']); $builder->fallbacks(); });
다음 프로그램과 같이 config/routes.php 파일을 변경합니다.
config/routes.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Log\Log; class LogexsController extends AppController{ public function index(){ /*The first way to write to log file.*/ Log::write('debug',"Something didn't work."); /*The second way to write to log file.*/ $this->log("Something didn't work.",'debug'); } } ?>
src/Controller/LogexsController.php에서 LogexsController.php 파일을 생성합니다. 컨트롤러 파일에 다음 코드를 복사합니다. src/Controller/LogexsController.php
src/Template
Something is written in log file. Check log file logs\debug.log
Logexs
디렉토리를 생성하고 해당 디렉토리 아래에 index.php라는View
파일을 생성합니다. 해당 파일에 다음 코드를 복사하세요.src/Template/Logexs/index.php
다음 URL에 접속하여 위의 예시를 실행해 보세요. http://localhost/cakephp4/logex 출력 실행하면 다음과 같은 결과가 출력됩니다. 로그는 log/debug.log 파일에 추가됩니다 −
위 내용은 CakePHP 로깅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!