>  기사  >  백엔드 개발  >  CakePHP 로그

CakePHP 로그

王林
王林원래의
2024-08-29 12:58:22345검색

CakePHP 프레임워크는 개발자에게 다양한 유형의 기능을 제공하는 오픈 소스 도구입니다. 예를 들어, 로깅은 개발 관점에서 매우 중요합니다. 로그를 사용하면 오류, 예외, 다양한 사용자 활동, 작업 중 사용자 작업 및 백그라운드 활동 측면에서 문제를 쉽게 찾을 수 있습니다. 일반적으로 로깅 구현은 매우 쉽고 시간을 절약해 주는 작업입니다. CakePHP에는 다양한 활동, 오류 및 예외를 기록하는 log() 함수가 있습니다. 로그 구현을 위해서는 요구사항에 따라 다양한 매개변수를 구성해야 합니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

CakePHP 로그는 어떻게 생성하나요?

이제 다음과 같이 로그인 CakePHP를 생성하는 방법을 살펴보겠습니다.

CakePHP의 로깅 정보는 간단합니다. log() 작업은 일부 CakePHP 클래스의 일반적인 전신인 LogTrait에 의해 제공됩니다. 설정이 CakePHP 클래스(컨트롤러, 구성 요소 및 보기)인 경우 정보를 기록할 수 있습니다. 마찬가지로 Log::write()를 직접적으로 활용할 수도 있습니다. 로그에 쓰기를 참조하세요.

로그 스트림 감독자는 애플리케이션이나 모듈의 일부에 필수적일 수 있습니다. 예를 들어, 애플리케이션의 구성 요소로 DatabaseLog라는 정보 기반 벌목꾼이 있는 경우가 있습니다.

에 설정됩니다.

응용 프로그램/Lib/로그/엔진/DatabaseLog.php.

모듈 구성 요소로 정보 기반 lumberjack이 있다고 가정하면 이는 application/Plugin/LoggingPack/Lib/Log/Engine/DatabaseLog.php에 저장됩니다. 준비되면 CakeLog는 로그 스트림 구성을 스택하려고 시도하며 이는 CakeLog::config()를 호출하여 완료됩니다. DatabaseLog를 정렬하는 방법은 다음과 같습니다.

App::uses('BaseLog', 'Log/Engine');
class DatabaseLog extends BaseLog {
public function __construct($options = array()) {
parent::__construct($options);
// ...
}
public function write($specified type, $required message) {
// write to the database.
}
}

CakePHP에는 작성 기술을 실행해야 한다는 것 외에 로그 스트림에 대한 전제 조건이 없지만 BaseLog 클래스를 확장하면 몇 가지 장점이 있습니다.

결과적으로 투영되는 정도 및 유형 경합을 처리합니다. 마지막으로 정독된 로깅 작업을 수행할 것으로 예상되는 config() 기술을 실행합니다.

모든 로거의 작성 기술은 $type 및 $message(특정 순서)라는 두 가지 경계를 허용해야 합니다. $type은 기록된 메시지의 문자열 종류입니다. 기본 신념은 실수, 경고, 정보 및 문제 해결입니다. 또한, CakeLog::write를 호출할 때 이를 활용하여 종류를 특성화할 수 있습니다.

CakePHP 로그인을 어떻게 구성하나요?

이제 로그인 CakePHP를 다음과 같이 구성하는 방법을 살펴보겠습니다.

먼저 app.php 파일을 구성해야 합니다. 다양한 옵션으로 로그 섹션을 구성할 수 있습니다.

'Log' => [
'debug'=>[
'className'=> 'Cake\Log\Engine\FileLog',
'path' => LOGS,
'file'=> 'debug',
'levels' => ['specified notice', 'required info', 'debug'],
'url' => env('Specified URL', null),
],
'error' => [
'className'=> 'Cake\Log\Engine\FileLog',
'path' => LOGS,
'file'=> 'error',
'levels' => ['specified warning', 'error', 'critical', 'alert'],
'url' => env('Specified URL', null),
],
},

설명

위 코드에서는 기본적으로 다음을 볼 수 있습니다. 우리는 이미 구성한 오류와 디버그라는 두 가지 로그 수준을 갖고 있으며 이는 메시지의 다양한 수준을 처리합니다. 따라서 기본적으로 CakePHP는 다음과 같이 다양한 수준의 로깅을 지원합니다.

  • 긴급 상황: 시스템을 사용할 수 없음을 나타낼 때 사용됩니다.
  • 경보: 즉시 취해야 할 조치가 무엇인지 알려줍니다.
  • 긴급: 심각한 상황에 사용됩니다.
  • 오류: 오류 상태를 표시하는 데 사용됩니다.
  • 경고: 경고 조건을 표시하는 데 사용됩니다.
  • 주의사항: 실행의 중요한 조건을 표시하는 데 사용됩니다.
  • 정보: 요구 사항에 따라 정보 메시지를 표시하는 데 사용됩니다.
  • 디버그: 모든 메시지의 디버그 수준을 표시하는 데 사용됩니다.

CakePHP 로그 파일

이제 CakePHP의 로그 파일이 무엇인지 살펴보겠습니다.

로그 기록에는 두 가지 방법으로 쓸 수 있습니다.

첫 번째는 정적 write() 기술을 활용하는 것입니다. 다음은 정적 write() 기법의 언어적 구조입니다.

구문:

write(integer|string $level, blended $message, string|array $context [])

매개변수:

작성 중인 메시지의 심각도입니다. 가치는 알려진 레벨과 일치하는 정수 또는 문자열이어야 합니다.

기록할 메시지 내용

메시지 기록에 활용되는 추가 정보입니다. 고유한 확장 키를 전달하여 로그 모터를 추가로 분리하는 데 활용할 수 있습니다. 문자열이나 수학 기록 전시물이 전달되면 학위 키로 처리됩니다. 로깅 수준에 대한 자세한 데이터는 CakeLogLog::config()를 참조하세요.

반환값: 부울

설명: 설계된 모든 로그 커넥터에 지정된 메시지와 유형을 구성합니다. 정렬된 커넥터에는 $level 및 $message 요소가 모두 전달됩니다. $level은 동반되는 문자열/값 중 하나입니다. 두 번째는 LogTrait 호출 log()를 활용하여 Log() 호출 Log::write() 내부에서 액세스할 수 있는 쉬운 경로 작업을 활용하는 것입니다.

CakePHP Log Example

Now let’s see an example of a log file as follows.

First, we need to make the changes in the routes.php file as follows.

<?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 message', 'home page']);
$builder->connect('logex',['controller'=>'Logexs','action'=>'index']);
$builder->fallbacks();
});

Now we need to create controller.php and write the following code as follows.

<?php
namespace App\Controller;
use App\Controller\AppController;
use Cake\Log\Log;
class LogexsController extends AppController{
public function index(){
/*First way to write log file.*/
Log::write('debug', "Something went wrong during execution.");
/* Second way to write log file.*/
$this->log("Something went wrong during execution.", 'debug');
}
}
?>

Create an index.php file under the view directory and write the following code.

Something went wrong during execution. Need to check log file\debug.log

Now we need to execute this file in localhost, and after execution, we will do some output that we illustrated by using the following screenshot.

CakePHP 로그

After execution debug log was added to the debug.log file, as shown in the following screenshot.

CakePHP 로그

Conclusion

We hope from this article you learn more about the CakePHP log. From the above article, we have taken in the essential idea of the CakePHP log and see the representation and example of the CakePHP log. Furthermore, this article taught us how and when to use the CakePHP log.

위 내용은 CakePHP 로그의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:CakePHP 저장다음 기사:CakePHP 저장