이 글에서는 주로 Yii2 프레임워크의 로그 사용을 소개하고 Yii1의 일반적인 방법과 관련 사용 기술을 비교합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
Yii2와 Yii1의 차이점은 Yii::log($message, $level, $category);
Yii::trace($message, $category);
후자는 디버그 모드에서만 로그를 기록합니다.
여기서의 로그 방식은 YiiBase의
static방식입니다.
Yii2에서는 객체 지향 설계가 더욱 철저하게 구현되었습니다. 로깅 기능은 Logger 클래스로 이전되었으며 여러 출력 대상(Targets)을 지원합니다.
로그를 기록하려면 먼저 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!