structure HTTP_LOGGING_INFO (http.h)
La structure HTTP_LOGGING_INFO est utilisée pour activer la journalisation côté serveur sur un groupe d’URL ou sur une session serveur.
Cette structure doit être utilisée lors de la définition ou de l’interrogation de HttpServerLoggingProperty sur un groupe d’URL ou une session serveur.
Syntaxe
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;
Membres
Flags
Le HTTP_PROPERTY_FLAGS structure qui spécifie si la propriété est présente.
LoggingFlags
Les indicateurs de journalisation facultatifs modifient le comportement de journalisation par défaut.
Il peut s’agir d’une ou plusieurs des valeurs HTTP_LOGGING_FLAG suivantes :
SoftwareName
Chaîne de nom de logiciel facultative utilisée dans la journalisation de type W3C. Ce nom n’est pas utilisé pour d’autres types de journalisation. Si ce paramètre a la valeur NULL, l’API du serveur HTTP consigne une chaîne par défaut.
SoftwareNameLength
Longueur, en octets, du nom du logiciel. La longueur ne peut pas être supérieure à MAX_PATH.
Si le membre SoftwareName a la valeur NULL, cette longueur doit être égale à zéro.
DirectoryNameLength
Longueur, en octets, du nom du répertoire. La longueur ne peut pas être supérieure à 424 octets.
DirectoryName
Répertoire de journalisation sous lequel les fichiers journaux sont créés. La chaîne de répertoire doit être un chemin complet incluant la lettre de lecteur.
Les applications peuvent utiliser un chemin UNC vers une machine distante pour activer la journalisation UNC.
Format
Un membre de l’énumération HTTP_LOGGING_TYPE spécifiant l’un des formats de fichier journal suivants.
Fields
Champs enregistrés lorsque le format est défini sur W3C. Il peut s’agir d’une ou plusieurs des valeurs constantes HTTP_LOG_FIELD_ .
Lorsque le format de journalisation est W3C est , les applications doivent spécifier les champs de journal. Sinon, aucun champ n’est journalisé.
pExtFields
Réservé. Défini sur 0 (zéro) ou NULL.
NumOfExtFields
Réservé. Défini sur 0 (zéro) ou NULL.
MaxRecordSize
Réservé. Défini sur 0 (zéro) ou NULL.
RolloverType
L’un des membres suivants de la HTTP_LOGGING_ROLLOVER_TYPE énumération spécifiant les critères de substitution de fichier journal.
RolloverSize
Taille maximale, en octets, après laquelle les fichiers journaux sont roulés. La valeur HTTP_LIMIT_INFINITE indique une taille illimitée. La valeur minimale ne peut pas être inférieure à HTTP_MIN_ALLOWED_LOG_FILE_ROLLOVER_SIZE (1024 * 1024).
Ce champ est utilisé uniquement pour le type de substitution HttpLoggingRolloverSize et doit être défini sur zéro pour tous les autres types.
Lorsque le type de substitution est HttpLoggingRolloverSize, les applications doivent spécifier la taille maximale du fichier journal.
pSecurityDescriptor
Descripteur de sécurité appliqué au répertoire des fichiers journaux et à tous les sous-répertoires. Si ce membre a la valeur NULL, soit la liste de contrôle d’accès par défaut système est utilisée, soit la liste de contrôle d’accès est héritée du répertoire parent.
Notes
La propriété HttpServerLoggingProperty définit l’un des quatre types de journalisation côté serveur : HttpLoggingTypeW3C, HttpLoggingTypeIIS, HttpLoggingTypeNCSA ou HttpLoggingTypeRaw. Lorsque cette propriété est définie sur une session de serveur, elle fonctionne comme une forme centralisée de journalisation pour tous les groupes d’URL sous cette session serveur. Les demandes acheminées vers l’un des groupes d’URL sous la session serveur sont enregistrées dans un fichier journal centralisé. Les paramètres de configuration du fichier journal sont passés dans la structure HTTP_LOGGING_INFO dans l’appel à HttpSetServerSessionProperty.
Lorsque cette propriété est définie sur un groupe d’URL, la journalisation est effectuée uniquement sur les demandes routées vers le groupe d’URL. Les fichiers journaux sont créés lorsque la demande arrive sur le groupe d’URL ou la session serveur. Ils ne sont pas créés lors de la configuration de la journalisation.
Les applications doivent s’assurer que le répertoire spécifié dans le membre DirectoryName est unique.
Les noms des fichiers journaux sont basés sur le type de substitution spécifié. Le tableau suivant montre les conventions de nommage des fichiers journaux.
Format | Type de substitution | Modèle de nom de fichier |
---|---|---|
Format de journal Microsoft IIS | Taille | inetsvnn.log |
Toutes les heures | inyymmddhh.log | |
Quotidien | inyymmdd.log | |
Hebdomadaire | inyymmww.log | |
Mensuelle | inyymm.log | |
Format de fichier journal commun NCSA | Taille | ncsann.log |
Toutes les heures | ncyymmddhh.log | |
Quotidien | ncyymmdd.log | |
Hebdomadaire | ncyymmww.log | |
Mensuelle | ncyymm.log | |
Format de fichier journal étendu W3C | Taille | extendnn.log |
Toutes les heures | exyymmddhh.log | |
Quotidien | exyymmdd.log | |
Hebdomadaire | exyymmww.log | |
Mensuelle | exyymm.log |
Les lettres yy, mm, ww, dd, hh et nn dans la table représentent les chiffres suivants :
- yy : représentation à deux chiffres de l’année.
- mm : représentation à deux chiffres du mois.
- ww : représentation à deux chiffres de la semaine.
- dd : représentation à deux chiffres du jour.
- hh : représentation à deux chiffres de l’heure en notation 24 heures.
- nn : représentation à deux chiffres de la séquence numérique.
Notez que dans l’API HTTP version 2.0, HttpSendHttpResponse et HttpSendResponseEntityBody ont été révisés pour permettre aux applications de passer une structure HTTP_LOG_FIELDS_DATA afin que la réponse puisse être journalisée. La définition de la propriété HttpServerLoggingProperty sur une session de serveur ou un groupe d’URL ne signifie pas que les réponses HTTP sont journalisées. La journalisation sur le groupe d’URL ou la session serveur n’a lieu que si les appels à HttpSendResponseEntityBody et HttpSendHttpResponse incluent une structure HTTP_LOG_FIELDS_DATA facultative. Pour plus d’informations, consultez la rubrique HTTP_LOG_FIELDS_DATA .
Pour plus d’informations sur les formats de fichiers journaux, consultez la rubrique Formats de fichiers journaux IIS .
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
En-tête | http.h |