HTTP_LOGGING_INFO-Struktur (http.h)
Die HTTP_LOGGING_INFO-Struktur wird verwendet, um die serverseitige Protokollierung in einer URL-Gruppe oder in einer Serversitzung zu aktivieren.
Diese Struktur muss beim Festlegen oder Abfragen der HttpServerLoggingProperty für eine URL-Gruppe oder Serversitzung verwendet werden.
Syntax
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;
Members
Flags
Die HTTP_PROPERTY_FLAGS-Struktur , die angibt, ob die Eigenschaft vorhanden ist.
LoggingFlags
Die optionalen Protokollierungsflags ändern das Standardprotokollierungsverhalten.
Dies kann mindestens einer der folgenden HTTP_LOGGING_FLAG Werte sein:
SoftwareName
Die optionale Softwarenamenzeichenfolge, die in der W3C-Typprotokollierung verwendet wird. Dieser Name wird nicht für andere Protokollierungstypen verwendet. Wenn dieser Parameter NULL ist, protokolliert die HTTP-Server-API eine Standardzeichenfolge.
SoftwareNameLength
Die Länge des Softwarenamens in Bytes. Die Länge darf nicht größer als MAX_PATH sein.
Wenn das SoftwareName-ElementNULL ist, muss diese Länge 0 sein.
DirectoryNameLength
Die Länge des Verzeichnisnamens in Bytes. Die Länge darf nicht größer als 424 Bytes sein.
DirectoryName
Das Protokollierungsverzeichnis, unter dem die Protokolldateien erstellt werden. Die Verzeichniszeichenfolge muss ein vollqualifizierter Pfad sein, einschließlich des Laufwerkbuchstabens.
Anwendungen können einen UNC-Pfad zu einem Remotecomputer verwenden, um die UNC-Protokollierung zu aktivieren.
Format
Ein Member der HTTP_LOGGING_TYPE Enumeration, die eines der folgenden Protokolldateiformate angibt.
Fields
Die Felder, die protokolliert werden, wenn das Format auf W3C festgelegt ist. Dies kann mindestens einer der HTTP_LOG_FIELD_ Konstantenwerte sein.
Wenn das Protokollierungsformat W3C ist, müssen Anwendungen die Protokollfelder angeben, andernfalls werden keine Felder protokolliert.
pExtFields
Reserviert. Legen Sie auf 0 (null) oder NULL fest.
NumOfExtFields
Reserviert. Legen Sie auf 0 (null) oder NULL fest.
MaxRecordSize
Reserviert. Legen Sie auf 0 (null) oder NULL fest.
RolloverType
Eines der folgenden Member der HTTP_LOGGING_ROLLOVER_TYPE Enumeration, die die Kriterien für den Protokolldateirollover angibt.
RolloverSize
Die maximale Größe in Bytes, nach der für die Protokolldateien ein Rollover ausgeführt wird. Der Wert HTTP_LIMIT_INFINITE gibt eine unbegrenzte Größe an. Der Mindestwert darf nicht kleiner als HTTP_MIN_ALLOWED_LOG_FILE_ROLLOVER_SIZE (1024 * 1024) sein.
Dieses Feld wird nur für den HttpLoggingRolloverSize-Rollovertyp verwendet und sollte für alle anderen Typen auf Null festgelegt werden.
Wenn der Rollovertyp HttpLoggingRolloverSize ist, müssen Anwendungen die maximale Größe für die Protokolldatei angeben.
pSecurityDescriptor
Der Sicherheitsdeskriptor, der auf das Protokolldateiverzeichnis und alle Unterverzeichnisse angewendet wird. Wenn dieser Member NULL ist, wird entweder die Standard-ACL des Systems verwendet oder die ACL wird vom übergeordneten Verzeichnis geerbt.
Hinweise
Die HttpServerLoggingProperty-Eigenschaft legt einen von vier Typen der serverseitigen Protokollierung fest: HttpLoggingTypeW3C, HttpLoggingTypeIIS, HttpLoggingTypeNCSA oder HttpLoggingTypeRaw. Wenn diese Eigenschaft für eine Serversitzung festgelegt wird, fungiert sie als zentralisierte Protokollierung für alle URL-Gruppen unter dieser Serversitzung. Anforderungen, die an eine der URL-Gruppen unter der Serversitzung weitergeleitet werden, werden in einer zentralen Protokolldatei protokolliert. Die Konfigurationsparameter für die Protokolldatei werden in der HTTP_LOGGING_INFO-Struktur im Aufruf von HttpSetServerSessionProperty übergeben.
Wenn diese Eigenschaft für eine URL-Gruppe festgelegt ist, wird die Protokollierung nur für Anforderungen ausgeführt, die an die URL-Gruppe weitergeleitet werden. Protokolldateien werden erstellt, wenn die Anforderung in der URL-Gruppe oder Serversitzung eingeht. Sie werden nicht erstellt, wenn die Protokollierung konfiguriert wird.
Anwendungen müssen sicherstellen, dass das im DirectoryName-Member angegebene Verzeichnis eindeutig ist.
Die Namen der Protokolldateien basieren auf dem angegebenen Rollovertyp. Die folgende Tabelle zeigt die Benennungskonventionen für Protokolldateien.
Format | Rollovertyp | Dateinamenmuster |
---|---|---|
Microsoft IIS-Protokollformat | Size | inetsvnn.log |
Stündlich | inyymmddhh.log | |
Täglich | inyymmdd.log | |
Wöchentlich | inyymmww.log | |
Monatlich | inyymm.log | |
NCSA Common Log File Format | Size | ncsann.log |
Stündlich | ncyymmddhh.log | |
Täglich | ncyymmdd.log | |
Wöchentlich | ncyymmww.log | |
Monatlich | ncyymm.log | |
Erweitertes W3C-Protokolldateiformat | Size | extendnn.log |
Stündlich | exyymmddhh.log | |
Täglich | exyymmdd.log | |
Wöchentlich | exyymmww.log | |
Monatlich | exyymm.log |
Die Buchstaben yy, mm, ww, dd, hh und nn in der Tabelle stellen die folgenden Ziffern dar:
- yy: Die zweistellige Darstellung des Jahres.
- mm: Die zweistellige Darstellung des Monats.
- ww: Die zweistellige Darstellung der Woche.
- dd: Die zweistellige Darstellung des Tages.
- hh: Die zweistellige Darstellung der Stunde in 24-Stunden-Notation.
- nn: Die zweistellige Darstellung der numerischen Sequenz.
Beachten Sie, dass httpSendHttpResponse und HttpSendResponseEntityBody in der HTTP-Version 2.0-API überarbeitet wurden, damit Anwendungen eine HTTP_LOG_FIELDS_DATA Struktur übergeben können, damit die Antwort protokolliert werden kann. Das Festlegen der HttpServerLoggingProperty-Eigenschaft für eine Serversitzung oder eine URL-Gruppe bedeutet nicht, dass HTTP-Antworten protokolliert werden. Die Protokollierung für die URL-Gruppe oder die Serversitzung erfolgt nur, wenn die Aufrufe von HttpSendResponseEntityBody und HttpSendHttpResponse eine optionale HTTP_LOG_FIELDS_DATA-Struktur enthalten. Weitere Informationen finden Sie im Thema HTTP_LOG_FIELDS_DATA .
Informationen zu den Protokolldateiformaten finden Sie im Thema IIS-Protokolldateiformate .
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Kopfzeile | http.h |