>  기사  >  백엔드 개발  >  Yii2 프레임워크에서 로그를 사용하는 방법에 대한 PHP 예제 분석

Yii2 프레임워크에서 로그를 사용하는 방법에 대한 PHP 예제 분석

微波
微波원래의
2017-06-28 13:12:201415검색

이 글에서는 주로 Yii2 프레임워크의 로그 사용을 소개하고 Yii1의 일반적인 방법과 관련 사용 기술을 비교합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

Yii2와 Yii1의 차이점은

Yii::log($message, $level, $category);
Yii::trace($message, $category);
후자는 디버그 모드에서만 로그를 기록합니다.

여기서의 로그 방식은 YiiBase의

static

방식입니다.

Yii2에서는 객체 지향 설계가 더욱 철저하게 구현되었습니다. 로깅 기능은 Logger 클래스로 이전되었으며 여러 출력 대상(Targets)을 지원합니다.

Yii2에서 로그를 사용하는 방법

로그를 기록하려면 먼저 Logger 클래스의 단일 인스턴스를 얻은 다음 클래스의 공개 로깅 메서드를 호출해야 합니다.

Yii::getLogger()->log($msg, $level, $category)

예는 다음과 같습니다.

Yii::getLogger()->log(“your site has been hacked”, Logger::LEVEL_ERROR)
//默认category为application即应用程序级别的日志
또한 Yii2는 몇 가지 단축키 방법을 제공합니다: 일부 시스템

동작

관리자 작업 프롬프트와 같은 기록

Yii2 사용자 정의 로그 출력 대상

Yii::trace() 用于开发调试时记录日志,需要把 YII_DEBUG 设置为 true.
Yii::error() 用于记录不可恢复的错误
Yii::warning() 一些警告信息
Yii::info() 대상을 사용자 정의하려면 예를 들어 다음과 같습니다. 복구할 수 없는 오류가 발생했을 때 파일을 기록하고 동시에 이메일을 보내고 싶다면 다음과 같이 사용자 정의할 수 있습니다.

[
  'bootstrap' => ['log'], // ensure logger gets loaded before application starts
  'components' => [
    'log' => [
      'targets' => [
        'file' => [
          'class' => 'yii\log\FileTarget',
          'levels' => ['trace', 'info'],
          'categories' => ['yii\*'],
        ],
        'email' => [
          'class' => 'yii\log\EmailTarget',
          'levels' => ['error', 'warning'],
          'message' => [
            'to' => ['admin@techbrood.com', 'support@techbrood.com'],
            'subject' => 'New example.com log message',
          ],
        ],
      ],
    ],
  ],
]

위 내용은 Yii2 프레임워크에서 로그를 사용하는 방법에 대한 PHP 예제 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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