다음을 통해 공유


로깅 루틴 및 매크로

RDBSS는 로깅을 위한 여러 루틴을 제공합니다. 이러한 로깅 기능은 항상 존재합니다. RDBSSLOG 매크로가 정의되면 확인된 빌드에 대한 로깅 호출 생성이 사용하도록 설정됩니다. NO_RDBSSLOG 설정되면 로깅 호출이 비활성화됩니다.

로깅 루틴은 순환 버퍼에 저장된 로그 레코드를 만듭니다. 각 레코드는 레코드 설명자로 양쪽에 바인딩됩니다. 이 레코드 설명자는 4바이트 길이입니다.

다음 표에는 로깅 루틴이 포함되어 있습니다.

루틴에서 반환된 값 Description

RxLogEventDirect

이 루틴은 I/O 오류 로그에 오류를 기록하기 위해 호출됩니다.

이 루틴을 직접 호출하는 대신 RxLogFailure 또는 RxLogEvent 매크로를 사용하는 것이 좋습니다.

RxLogEventWithAnnotation

이 루틴은 I/O 오류 로그 레코드를 할당하고, 로그 레코드를 채우고, 이 레코드를 I/O 오류 로그에 씁니다.

RxLogEventWithBufferDirect

이 루틴은 I/O 오류 로그 레코드를 할당하고, 로그 레코드를 채우고, 이 레코드를 I/O 오류 로그에 씁니다. 이 루틴은 줄 번호를 인코딩하고 상태 I/O 오류 로그 레코드에 저장된 원시 데이터 버퍼로 인코딩합니다.

이 루틴을 직접 호출하는 대신 RxLogFailureWithBuffer 매크로를 사용하는 것이 좋습니다.

_RxLog

이 루틴은 형식 문자열과 가변 개수의 매개 변수를 사용하고 로깅을 사용하는 경우 I/O 오류 로그 항목으로 기록할 출력 문자열의 형식을 지정합니다.

이 루틴을 직접 호출하는 대신 RxLog 매크로를 사용하는 것이 좋습니다.

이 루틴은 Windows Server 2003, Windows XP 및 Windows 2000에서 RDBSS의 확인된 빌드에서만 사용할 수 있습니다.

다음 매크로는 이전 표에 나열된 루틴을 호출하는 rxlog.h 및 rxprocs.h 헤더 파일에 정의되어 있습니다. 이러한 매크로는 일반적으로 이러한 루틴을 직접 호출하는 대신 사용됩니다.

매크로 Description

RxLog(Args)

확인된 빌드에서 이 매크로는 _RxLog 루틴을 호출합니다.

소매 빌드에서 이 매크로는 아무 작업도 수행하지 않습니다.

로깅을 해제해야 할 때 Null 호출로 변환할 수 있도록 RxLog 에 대한 인수를 추가 괄호 쌍으로 묶어야 합니다.

RxLogEvent (_DeviceObject, _OriginatorId, _EventId, _Status)

이 매크로는 RxLogEventDirect 루틴을 호출합니다.

RxLogFailure (_DeviceObject, _OriginatorId, _EventId, _Status)

이 매크로는 RxLogEventDirect 루틴을 호출합니다.

RxLogFailureWithBuffer (_DeviceObject, _OriginatorId, _EventId, _Status, _Buffer, _Length)

이 매크로는 RxLogEventWithBufferDirect 루틴을 호출합니다.

RxLogRetail(Args)

확인된 빌드에서 이 매크로는 _RxLog 루틴을 호출합니다.

소매 빌드에서 이 매크로는 아무 작업도 수행하지 않습니다.

로깅을 해제해야 할 때 Null 호출로 변환할 수 있도록 RxLogRetail 에 대한 인수를 추가 괄호 쌍으로 묶어야 합니다.