>백엔드 개발 >PHP 튜토리얼 >Yii 프레임워크는 사용자 정의 파일에 로그를 기록하는 방법을 구현합니다.

Yii 프레임워크는 사용자 정의 파일에 로그를 기록하는 방법을 구현합니다.

巴扎黑
巴扎黑원래의
2017-08-13 11:27:471153검색

이 글에서는 Yii 프레임워크에서 커스텀 파일에 로그를 기록하는 방법을 주로 소개하며, Yii 프레임워크 로깅의 원리와 커스텀 로깅 관련 구성 및 구현 기술을 예시 형식으로 분석합니다.

이 문서의 예에서는 Yii 프레임워크가 사용자 정의 파일에 대한 로깅을 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

기본적으로 Yii::log($msg, $level, $category)는 Runtime/application.log 파일에 로그를 기록합니다.

로그 형식은 다음과 같습니다.

[시간] - [ Level] - [Category] - [Content]


2013/05/03 17:33:08 [error] [application] test

하지만 때로는 특정 로그를 특정 파일에 넣어야 하는 경우도 있습니다. 예를 들어 트랜잭션 실패 로그 등은 다른 로그와 별도로 기록해야 합니다.

Yii에서 다른 CLogRouter를 구성하면 이 문제를 해결할 수 있습니다.

먼저 Yii의 로깅 메커니즘을 이해해야 합니다. Yii의 로깅 기능은 CLogger와 CLogRouter의 두 부분으로 구성됩니다.

CLogger는 로그 데이터를 메모리에 기록하는 역할을 담당하고, CLogRouter는 로그 데이터를 처리하는 방법을 결정합니다. 파일이나 데이터베이스, 이메일 보내기 등을 수행합니다. CFileLogRoute는 파일 형식의 로그 데이터를 처리하는 데 사용됩니다. 따라서 자연스럽게 다른 CFileLogRoutes를 구성하여 로그를 다른 로그 파일에 기록할 수 있습니다.

구체적인 구성은 다음과 같습니다.

'log' => array(
  'class' => 'CLogRouter',
  'routes' => array(
    array(
      'class' => 'CFileLogRoute',
      'levels' => 'error, warning',
    ),
    array(
      'class' => 'CFileLogRoute',
      'levels' => 'error, warning',
      'categories'=> 'orders.*',
      'logFile'=> 'orders.log',
    ),

주문 오류를 기록해야 하는 곳에 다음 코드를 추가하세요.

Yii::log('your message', 'error', 'orders');

위 내용은 Yii 프레임워크는 사용자 정의 파일에 로그를 기록하는 방법을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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