오류 또는 경고 로그 항목 작성
다음 예제에서는 애플리케이션이 일반적으로 SetupWriteTextLog 를 호출하여 SetupAPI 텍스트 로그에 오류 또는 경고 항목을 작성하는 방법을 보여줍니다. 그러나 이벤트가 SetupAPI 관련 오류 또는 Win32 오류와 연결된 경우 애플리케이션은 SetupWriteTextLogError 를 대신 호출할 수 있습니다. SetupWriteTextLogError 를 사용하면 이러한 유형의 오류에 대한 정보를 쉽게 로깅하고 해석할 수 있습니다.
오류 메시지를 기록하기 위해 SetupWriteTextLog 를 호출하는 방법에 대한 자세한 내용은 오류 메시지 로깅 및 경고 메시지를 기록하기 위해 SetupWriteTextLog 를 호출하는 방법에 대한 자세한 내용은 경고 메시지 로깅을 참조하세요.
오류 메시지 로깅
이 예제에서 애플리케이션은 SetupWriteTextLog를 호출하여 다음 매개 변수 값을 제공합니다.
LogToken 은 SetupGetThreadLogToken 을 호출하여 가져온 로그 토큰 값으로 설정되거나 로그 토큰에 설명된 시스템 정의 로그 토큰 값 중 하나입니다.
범주 는 TXTLOG_VENDOR 설정됩니다. 이는 공급업체에서 제공하는 애플리케이션에서 로그 항목을 생성했음을 나타냅니다. 이벤트 범주는 텍스트 로그에 이벤트 범주 사용에서 설명합니다.
플래그 는 TXTLOG_ERROR 및 TXTLOG_TIMESTAMP 비트 OR로 설정됩니다. 이 예제에서는 들여쓰기 깊이가 변경되지 않고 현재 들여쓰기 깊이가 이전에 5개의 모노스페이스 텍스트 공간으로 설정되었습니다. 들여쓰기 깊이를 변경하는 방법에 대한 자세한 내용은 들여쓰기 로그 항목 작성을 참조하세요. 이벤트 수준은 텍스트 로그에 대한 이벤트 수준 설정 항목에 설명되어 있습니다.
MessageStr 는 TEXT("애플리케이션 오류(%d)")로 설정됩니다.
쉼표로 구분된 목록은 ErrorCode 변수를 제공합니다.
다음 코드는 SetupWriteTextLog 를 호출하여 이 예제에 대한 로그 항목을 작성합니다.
//The LogToken value was previously returned by call to
//SetupGetThreadLogToken or one of the system-defined log token values
DWORD Category = TXTLOG_VENDOR;
DWORD Flags = TXTLOG_ERROR | TXTLOG_TIMESTAMP;
DWORD ErrorCode = 1111; // An error code value
SetupWriteTextLog(LogToken, Category, Flags, TEXT("Application Error (%d)"),ErrorCode);
TXTLOG_VENDOR 이벤트 범주를 사용하도록 설정하고 텍스트 로그에 대해 TXTLOG_ERROR 이벤트 수준을 설정하는 경우 이 코드는 다음과 같이 서식이 지정된 텍스트 로그에 항목을 만듭니다.
!!! 2005/02/13 22:06:28.109: : Application error (1111)
entry_prefix 필드 "!!! "은 로그 항목이 오류 메시지임을 나타냅니다.
경고 메시지 로깅
경고 메시지 로깅은 오류 메시지 로깅과 거의 동일합니다. 차이점은 이벤트 수준에 대한 설정입니다. 플래그를 TXTLOG_ERROR 대신 TXTLOG_WARNING 설정합니다. Flags가 TXTLOG_WARNING 및 TXTLOG_TIMESTAMP 비트 OR로 설정된다는 점을 제외하고 오류 메시지 로깅에 설명된 대로 SetupWriteTextLog가 호출되는 경우 SetupWriteTextLog는 다음 로그 항목을 작성합니다.
! 2005/02/13 22:06:28.109: : Application error (1111)
로그 항목의 entry_prefix 필드는 "! "는 "!!! 아니라 경고 메시지임을 나타냅니다. 오류 메시지를 나타내는 "입니다.