로그 인터페이스 사양
이 문서는 로그 라이브러리의 일반적인 인터페이스 사양을 공식화합니다. 이 사양의 주요 목적은 로그 라이브러리가 PsrLogLoggerInterface 개체를 수신하여 간단하고 보편적인 방식으로 로그 정보를 기록할 수 있도록 하는 것입니다. "할 것이다"("SHALL"), "SHALL NOT"), "SHOULD"), "SHOULD NOT", 사양 1.1 기본사양 LoggerInterface 인터페이스는 [RFC 5424][]에 정의된 8가지 수준의 로그(디버그, 정보, 알림, 경고, 오류, 중요, 경고 및 긴급)를 기록하는 데 사용되는 8가지 외부 메서드를 정의합니다. 아홉 번째 방법 - log, 첫 번째 매개변수는 레코드 수준입니다. 이 메소드는 미리 정의된 레벨 상수를 매개변수로 사용하여 호출할 수 있으며 반드시 위의 8개 메소드를 직접 호출하는 것과 동일한 효과를 갖습니다. 전달된 수준 상수 매개변수가 사전 정의되지 않은 경우 반드시 PsrLogInvalidArgumentException 유형의 예외를 발생시켜야 합니다. 사용자는 불확실한 상황에서 지원되지 않는 수준 상수를 사용하여 이 메소드를 호출해서는 안 됩니다. 1.2 기록정보 위의 각 메소드는 문자열 유형 또는 __toString() 메소드를 레코드 정보 매개변수로 사용하는 객체를 허용하므로 구현자는 이를 문자열로 처리할 수 있습니다. 그렇지 않으면 구현자는 이를반드시다음으로 변환해야 합니다. 스스로 끈을 묶으세요. 기록 정보 매개변수는 자리 표시자를 전달할 수 있으며, 구현자는 문맥에 따라 다른 항목을 해당 값으로 대체할 수 있습니다. 자리 표시자는 컨텍스트 배열의 키 이름과 일치해야 합니다. 자리 표시자 이름은 을 여는 중괄호 { 및 닫는 중괄호 }로 묶어야 합니다. 단, 중괄호와 이름 사이에는 공백이 있어서는 안 됩니다. 자리 표시자의 이름은 A-Z, a-z,0-9, 밑줄 _ 및 영어 마침표로만 구성되어야 하며, 다른 문자는 향후 자리 표시자 사양을 위해 예약되어 있습니다. 구현자는 자리 표시자에 대해 다양한 이스케이프 및 변환 전략을 적용하여 최종 로그를 생성할 수 있습니다. 컨텍스트를 모르는 상태에서 사용자는
각 녹음 함수는 문자열 유형으로 표현할 수 없는 정보를 로드하기 위해 컨텍스트 배열 매개변수를 허용합니다. 모든 정보를 로드할 수 있으므로 구현자는 로드하는 데이터에 대해 예외를 발생시키지 않아야 합니다. , 또는 PHP 오류, 경고 또는 알림 메시지(오류, 경고, 알림)를 생성합니다. Context 매개변수를 통해 Exception 객체가 전달되는 경우반드시 'Exception'을 키 이름으로 사용해야 합니다. 로깅 예외 정보는 매우 일반적이므로 로깅 클래스 라이브러리 하단에 구현할 수 있다면 구현자가 예외 정보를 제거할 수 있습니다. 마찬가지로 PsrLogLoggerTrait를 사용할 때는 로그 메소드만 구현하면 됩니다. 그러나 특성 재사용 가능 코드 블록이 인터페이스를 구현하기 전에 LoggerInterface를 구현해야 한다는 점에 유의하는 것이 중요합니다. 사용 가능한 로거가 없는 경우 PsrLogNullLogger 인터페이스는 사용자에게 백업 로그 "블랙홀"을 제공할 수 있습니다. 그러나 컨텍스트 구성에 리소스 집약적인 경우 조건부 확인을 통한 로깅이 더 나은 접근 방식일 수 있습니다. PsrLogLoggerAwareInterface 인터페이스에는 프레임워크가 모든 로깅 인스턴스에 자동으로 연결하는 데 사용할 수 있는setLogger(LoggerInterface $logger) 메서드만 포함되어 있습니다. PsrLogLogLevel 클래스는 8개의 로깅 수준 상수를 로드합니다. 팩
위의 인터페이스, 클래스 및 관련 예외 클래스와 일련의 구현 감지 파일이 psr/log 파일 패키지에 포함되어 있습니다. PsrLogLogger인터페이스
} 複製程式碼 public function setLogger(LoggerInterface $logger);
} 複製程式碼🎜> const DEBUG = 'debug';
} |