HTTP_LOGGING_INFO 구조체(http.h)
HTTP_LOGGING_INFO 구조는 URL 그룹 또는 서버 세션에서 서버 쪽 로깅을 사용하도록 설정하는 데 사용됩니다.
이 구조체는 URL 그룹 또는 서버 세션에서 HttpServerLoggingProperty 를 설정하거나 쿼리할 때 사용해야 합니다.
구문
typedef struct _HTTP_LOGGING_INFO {
HTTP_PROPERTY_FLAGS Flags;
ULONG LoggingFlags;
PCWSTR SoftwareName;
USHORT SoftwareNameLength;
USHORT DirectoryNameLength;
PCWSTR DirectoryName;
HTTP_LOGGING_TYPE Format;
ULONG Fields;
PVOID pExtFields;
USHORT NumOfExtFields;
USHORT MaxRecordSize;
HTTP_LOGGING_ROLLOVER_TYPE RolloverType;
ULONG RolloverSize;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
} HTTP_LOGGING_INFO, *PHTTP_LOGGING_INFO;
멤버
Flags
속성이 있는지 여부를 지정하는 HTTP_PROPERTY_FLAGS 구조체입니다.
LoggingFlags
선택적 로깅 플래그는 기본 로깅 동작을 변경합니다.
다음 HTTP_LOGGING_FLAG 값 중 하나 이상이 될 수 있습니다.
SoftwareName
W3C 형식 로깅에 사용되는 선택적 소프트웨어 이름 문자열입니다. 이 이름은 다른 유형의 로깅에 사용되지 않습니다. 이 매개 변수가 NULL이면 HTTP Server API는 기본 문자열을 기록합니다.
SoftwareNameLength
소프트웨어 이름의 길이(바이트)입니다. 길이는 MAX_PATH 초과할 수 없습니다.
SoftwareName 멤버가 NULL인 경우 이 길이는 0이어야 합니다.
DirectoryNameLength
디렉터리 이름의 길이(바이트)입니다. 길이는 424바이트보다 클 수 없습니다.
DirectoryName
로그 파일이 만들어지는 로깅 디렉터리입니다. 디렉터리 문자열은 드라이브 문자를 포함하여 정규화된 경로여야 합니다.
애플리케이션은 원격 머신에 대한 UNC 경로를 사용하여 UNC 로깅을 사용하도록 설정할 수 있습니다.
Format
다음 로그 파일 형식 중 하나를 지정하는 HTTP_LOGGING_TYPE 열거형의 멤버입니다.
Fields
형식이 W3C로 설정된 경우 기록되는 필드입니다. 이러한 값은 HTTP_LOG_FIELD_ 상수 값 중 하나 이상일 수 있습니다.
로깅 형식이 W3C인 경우 애플리케이션은 로그 필드를 지정해야 합니다. 그렇지 않으면 필드가 기록되지 않습니다.
pExtFields
예약되어 있습니다. 0(0) 또는 NULL로 설정합니다.
NumOfExtFields
예약되어 있습니다. 0(0) 또는 NULL로 설정합니다.
MaxRecordSize
예약되어 있습니다. 0(0) 또는 NULL로 설정합니다.
RolloverType
로그 파일 롤오버 조건을 지정하는 HTTP_LOGGING_ROLLOVER_TYPE 열거형의 다음 멤버 중 하나입니다.
RolloverSize
로그 파일이 롤오버되는 최대 크기(바이트)입니다. HTTP_LIMIT_INFINITE 값은 무제한 크기를 나타냅니다. 최소값은 HTTP_MIN_ALLOWED_LOG_FILE_ROLLOVER_SIZE (1024 * 1024)보다 작을 수 없습니다.
이 필드는 HttpLoggingRolloverSize 롤오버 형식에만 사용되며 다른 모든 형식에 대해 0으로 설정해야 합니다.
롤오버 유형이 HttpLoggingRolloverSize인 경우 애플리케이션은 로그 파일의 최대 크기를 지정해야 합니다.
pSecurityDescriptor
로그 파일 디렉터리 및 모든 하위 디렉터리에 적용되는 보안 설명자입니다. 이 멤버가 NULL인 경우 시스템 기본 ACL이 사용되거나 부모 디렉터리에서 ACL이 상속됩니다.
설명
HttpServerLoggingProperty 속성은 HttpLoggingTypeW3C, HttpLoggingTypeIIS, HttpLoggingTypeNCSA 또는 HttpLoggingTypeRaw의 네 가지 서버 쪽 로깅 유형 중 하나를 설정합니다. 이 속성이 서버 세션에서 설정되면 해당 서버 세션 아래의 모든 URL 그룹에 대한 중앙 집중식 로깅 형식으로 작동합니다. 서버 세션 아래의 URL 그룹 중 하나로 라우팅되는 요청은 하나의 중앙 집중식 로그 파일에 기록됩니다. 로그 파일에 대한 구성 매개 변수는 httpSetServerSessionProperty 호출의 HTTP_LOGGING_INFO 구조에 전달됩니다.
이 속성이 URL 그룹에 설정된 경우 로깅은 URL 그룹으로 라우팅되는 요청에 대해서만 수행됩니다. 로그 파일은 요청이 URL 그룹 또는 서버 세션에 도착하면 만들어지고 로깅이 구성되면 만들어지지 않습니다.
애플리케이션은 DirectoryName 멤버에 지정된 디렉터리가 고유한지 확인해야 합니다.
로그 파일 이름은 지정된 롤오버 형식을 기반으로 합니다. 다음 표에서는 로그 파일에 대한 명명 규칙을 보여 줍니다.
형식 | 롤오버 유형 | 파일 이름 패턴 |
---|---|---|
Microsoft IIS 로그 형식 | 크기 | inetsvnn.log |
시간별 | inyymmddhh.log | |
매일 | inyymmdd.log | |
매주 | inyymmww.log | |
매월 | inyymm.log | |
NCSA 일반 로그 파일 형식 | 크기 | ncsann.log |
시간별 | ncyymmddhh.log | |
매일 | ncyymmdd.log | |
매주 | ncyymmww.log | |
매월 | ncyymm.log | |
W3C 확장 로그 파일 형식 | 크기 | extendnn.log |
시간별 | exyymmddhh.log | |
매일 | exyymmdd.log | |
매주 | exyymmww.log | |
매월 | exyymm.log |
표의 yy, mm, ww, dd, hh 및 nn 문자는 다음 숫자를 나타냅니다.
- yy: 연도의 두 자리 표현입니다.
- mm: 월의 두 자리 표현입니다.
- ww: 주의 두 자리 표현입니다.
- dd: 날짜의 두 자리 표현입니다.
- hh: 24시간 표기법에서 시간의 두 자리 표현입니다.
- nn: 숫자 시퀀스의 두 자리 표현입니다.
HTTP 버전 2.0 API에서는 응답이 기록될 수 있도록 애플리케이션이 HTTP_LOG_FIELDS_DATA 구조를 전달할 수 있도록 HttpSendHttpResponse 및 HttpSendResponseEntityBody가 수정되었습니다. 서버 세션 또는 URL 그룹에서 HttpServerLoggingProperty 속성을 설정한다고 해서 HTTP 응답이 기록된다는 의미는 아닙니다. HTTPSendResponseEntityBody 및 HttpSendHttpResponse에 대한 호출에 선택적 HTTP_LOG_FIELDS_DATA 구조가 포함되지 않는 한 URL 그룹 또는 서버 세션에 대한 로깅은 수행되지 않습니다. 자세한 내용은 HTTP_LOG_FIELDS_DATA 항목을 참조하세요.
로그 파일 형식에 대한 자세한 내용은 IIS 로그 파일 형식 항목을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
머리글 | http.h |