>백엔드 개발 >PHP 튜토리얼 >Yii2 프레임워크에서 로그를 활용하는 방법 분석

Yii2 프레임워크에서 로그를 활용하는 방법 분석

巴扎黑
巴扎黑원래의
2017-08-13 14:04:451749검색

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

Yii2와 Yii1의 차이점은

Yii::log($message, $level, $category);
Yii::trace($message, $category);

후자는 디버그 모드에서만 로그를 기록합니다.

여기서의 로그 방식은 YiiBase의 정적 방식입니다.

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는 몇 가지 단축키 방법을 제공합니다.

Yii::trace()는 개발 및 디버깅 중에 로그를 기록하는 데 사용됩니다. true로 설정하세요.

Yii::error() 복구할 수 없는 오류를 기록하는 데 사용됩니다

Yii::warning() 일부 경고 메시지

Yii::info() 관리자 작업 등 일부 시스템 동작 기록 팁

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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