Paramètres de fichier journal par défaut pour les sites web <logFile>
Vue d’ensemble
L’élément <logFile>
de l’élément <siteDefaults>
contient des attributs qui vous permettent de configurer la journalisation par défaut d’un site sur IIS 7 et les versions ultérieures.
Par exemple, vous pouvez activer ou désactiver la journalisation, configurer le format du fichier journal IIS, spécifier les catégories d’informations à stocker dans le fichier journal et modifier le répertoire dans lequel il est stocké. Vous pouvez également utiliser l’élément <logFile>
pour contrôler la fréquence à laquelle IIS crée un fichier journal en fonction de la taille ou de l’intervalle de temps du fichier journal et de la taille maximale (en octets) qu’un fichier journal peut atteindre.
Par défaut, IIS 7 et les versions ultérieures utilisent le format de fichier journal W3C (World Wide Web Consortium). Vous pouvez modifier ce paramètre en modifiant l’attribut logFormat vers IIS, NCSAou Personnalisé.
Remarque
La journalisation ODBC est implémentée en tant que module de journalisation personnalisé dans IIS 7 et les versions ultérieures. Par conséquent, l’activation et la configuration de la journalisation ODBC dans IIS 7 et les versions ultérieures se composent de deux actions distinctes :
- Définition des attributs de journalisation ODBC dans l’élément
<odbcLogging>
. Ces attributs spécifient le nom de source de données système (DSN), le nom de table, le nom d’utilisateur et le mot de passe de la connexion ODBC. - Définition des attributs de journalisation personnalisés corrects dans l’élément
<logFile>
. Ces attributs doivent définir le format du fichier journal en « Personnalisé » et l’identifiant de classe de plug-in de journal personnalisé en « {FF16065B-DE82-11CF-BC0A-00AA006111E0} ».
Pour plus d’informations sur la journalisation ODBC, consultez l’élément <odbcLogging>
.
Vous pouvez définir les catégories d’informations que IIS journalise en modifiant l’attribut logExtFileFlags. Les valeurs par défaut sont Date
, Time
, ClientIP
, UserName
, ServerIP
, Method
, UriStem
, UriQuery
, TimeTaken
, HttpStatus
, Win32Status
, ServerPort
, UserAgent
, HttpSubStatus
, et Referer
.
Remarque
Si l’élément <logFile>
est configuré à la fois dans la section <siteDefaults>
et dans la section <site>
pour un site spécifique, la configuration de la section <site>
est utilisée pour ce site.
IIS 8.5 vous permet de journaliser des champs personnalisés en plus de l’ensemble journalisé standard. Le format du fichier journal doit être W3C pour ajouter des champs personnalisés. Pour plus d’informations, consultez customFields
.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L’élément <logFile> n’a pas été modifié dans IIS 10.0. |
IIS 8.5 | Ajout de l’attribut flushByEntrycountW3CLog pour spécifier le nombre d’événements à stocker dans la mémoire tampon avant qu’ils ne soient vidés dans le fichier journal. Ajout de l’attribut logTargetW3C pour spécifier la façon dont les événements IIS enregistrés sont traités. Ajout de l’attribut maxLogLineLength pour spécifier la longueur maximale d’une ligne dans un fichier journal. Ajout de l’élément <customFields> enfant. |
IIS 8.0 | L’attribut logSiteId a été ajouté pour spécifier le contenu du champ -sitename et l’indicateur referer a été ajouté à la valeur par défaut de l’attribut logExtFileFlags . |
IIS 7.5 | L’élément <logFile> n’a pas été modifié dans IIS 7.5. |
IIS 7.0 | L’élément <logFile> de l’élément <siteDefaults> a été introduit dans IIS 7.0. |
IIS 6.0 | L’élément <logFile> remplace les sections des propriétés de journalisation sur l’objet métabase IIS 6.0 IIsWebService . |
Programme d’installation
L’élément <logFile>
est inclus dans l’installation par défaut d’IIS 7.
Procédure
Comment modifier les paramètres de journalisation par défaut d’un serveur
Ouvrez le Gestionnaire des services Internet (IIS) :
Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows 8 ou Windows 8.1 :
- Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
- Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :
- Cliquez sur Démarrer, placez le curseur sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows Vista ou Windows 7 :
- Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
- Double-cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Dans le volet Connexions, cliquez sur le nom du serveur sur lequel vous souhaitez configurer la journalisation.
Dans le volet Journalisation, sélectionnez le format de fichier journal dans la zone Format, puis tapez le chemin d’accès au répertoire dans lequel vous stockez les fichiers journaux dans le champ Répertoire ou cliquez sur Parcourir... pour choisir le répertoire dans lequel stocker les fichiers journaux.
Si vous choisissez d’utiliser le format de fichier journal W3C :
- Cliquez sur Sélectionner des champs pour choisir les types d’informations à journaliser.
- Dans la boîte de dialogue Champs de journalisation W3C, activez les cases à cocher des options que vous souhaitez journaliser, décochez les cases pour les options que vous ne souhaitez pas journaliser, puis cliquez sur OK.
Comment configurer ETW ou journaliser des fichiers pour les journaux W3C
Ouvrez le Gestionnaire des services Internet (IIS) :
Si vous utilisez Windows Server 2012 R2 :
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows 8.1 :
- Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
- Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Dans le volet Connexions, développez le nom du serveur.
Dans le volet d’accueil du site, double-cliquez sur Journalisation.
Dans la page d’accueil de jJournalisation, en guise de Destination du journal d’événements, sélectionnez fichier journal uniquement, événement ETW uniquementou fichier journal et événement ETW.
Comment configurer le vidage d’un journal W3C en fonction du nombre d’entrées
Ouvrez le Gestionnaire des services Internet (IIS) :
Si vous utilisez Windows Server 2012 R2 :
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows 8.1 :
- Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
- Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Dans le volet Connexions, sélectionnez le serveur, puis double-cliquez sur Éditeur de configuration.
Dans l’Éditeur de configuration, pour la Section, développez
system.applicationHost
, puis sélectionnez sites.Développez siteDefaults, puis développez logFile.
Pour flushByEntryCountW3Clog, entrez le nombre d’événements à stocker dans la mémoire tampon avant qu’ils ne soient vidés dans le fichier journal.
Dans le volet Actions, cliquez sur Appliquer.
Comment configurer la longueur maximale d’une ligne de journal
Ouvrez le Gestionnaire des services Internet (IIS) :
Si vous utilisez Windows Server 2012 R2 :
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows 8.1 :
- Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
- Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Sélectionnez le serveur dans le volet Connexions, puis double-cliquez sur Éditeur de configuration.
Dans l’Éditeur de configuration, pour la Section, développez
system.applicationHost
, puis sélectionnez sites.Développez siteDefaults, puis développez logFile.
Pour maxLogLineLength, entrez le nombre maximal d’octets dans une seule ligne d’un fichier journal.
Dans le volet Actions, cliquez sur Appliquer.
Configuration
Attributs
Attribut | Description | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
customLogPluginClsid |
Attribut de chaîne facultatif. Spécifie l’identifiant (ou les identifiants) de classe d’objet COM (CLSID) par ordre de priorité, pour les modules personnalisés. |
||||||||||||||||||||||||||||||||||||||||||||||
directory |
Attribut de chaîne facultatif. Spécifie le répertoire de journalisation, où sont stockés le fichier journal et les fichiers de prise en charge liés à la journalisation. La valeur par défaut est %SystemDrive%\inetpub\logs\LogFiles . |
||||||||||||||||||||||||||||||||||||||||||||||
enabled |
Attribut booléen facultatif. Spécifie si la journalisation est activée (true) ou désactivée (false) pour un site. Remarque : les erreurs ASP et ODBC ne sont pas journalisées dans les fichiers journaux IIS. La valeur par défaut est true . |
||||||||||||||||||||||||||||||||||||||||||||||
flushByEntryCountW3CLog |
Attribut uint facultatif. Spécifie le nombre d’événements à stocker dans la mémoire tampon avant qu’ils ne soient vidés dans le fichier journal. Un nombre inférieur entraîne un vidage plus rapide des événements, ce qui diminue les performances en raison d’un plus grand nombre d’opérations sur disque. Réduisez cette valeur pour une résolution des problèmes plus en temps réel, augmentez-la pour un gain de performances. Une valeur de 0 spécifie que le vidage se produit au maximum par défaut de 64 000.La valeur par défaut est 0 . |
||||||||||||||||||||||||||||||||||||||||||||||
localTimeRollover |
Attribut booléen facultatif. Spécifie si un nouveau fichier journal est créé en fonction de l’heure locale ou du temps universel coordonné (UTC), précédemment appelé Heure moyenne de Greenwich (GMT). Quand la valeur est « false », un nouveau fichier journal est créé en fonction de l’heure UTC. Remarque : quel que soit le paramètre, l’horodatage de chaque enregistrement du journal de journalisation étendu W3C est basé sur UTC. La valeur par défaut est false . |
||||||||||||||||||||||||||||||||||||||||||||||
logExtFileFlags |
Attribut d’indicateurs facultatifs. Spécifie les catégories d’informations écrites dans le fichier journal (lorsque vous utilisez le format de fichier journal étendu W3C) ou dans la source de données ODBC lors de la journalisation d’un site. L’attribut logExtFileFlags peut être une ou plusieurs des valeurs suivantes. Si vous spécifiez plusieurs valeurs, séparez-les par une virgule (,). Les valeurs par défaut sont Date , Time , ClientIP , UserName , ServerIP , Method , UriStem , UriQuery , TimeTaken , HttpStatus , Win32Status , ServerPort , UserAgent , HttpSubStatus , Referer .
|
||||||||||||||||||||||||||||||||||||||||||||||
logFormat |
Attribut d’énumération facultatif. Spécifie le format du fichier journal. L’attribut logFormat peut être l’une des valeurs suivantes. La valeur par défaut est W3C .
|
||||||||||||||||||||||||||||||||||||||||||||||
logSiteId |
Attribut booléen facultatif. Spécifie que le champ s-sitename contiendra le nom du site (false) ou l’identifiant de site (true). Si l’attribut « un fichier journal par propriété » est défini sur Site (la valeur par défaut), vous n’obtiendrez pas la colonne s-sitename dans le fichier journal par défaut, car la propriété « nom du fichier journal » contiendra l’identifiant de site à la place. Si l’attribut « un fichier journal par propriété » est défini sur Server , la colonne-s-sitename sera incluse dans le fichier journal par défaut.La valeur par défaut est True , ce qui signifie que le champ s-sitename contient l’identifiant de site. Pour enregistrer le nom du site à la place, définissez logSiteID sur False . |
||||||||||||||||||||||||||||||||||||||||||||||
logTargetW3C |
Attribut Indicateurs facultatifs. Spécifie si IIS utilisera le suivi des événements pour Windows (ETW) et/ou la journalisation des fichiers pour le traitement des événements IIS journalisés. ETW fournit une journalisation en temps réel et l’utilisation d’un fournisseur ETW et de mécanismes d’interrogation standard. La journalisation des fichiers stocke les données d’événement dans des fichiers texte que vous pouvez analyser pour accéder aux données de journalisation. Lorsque IIS utilise des fichiers journaux, HTTP.sys journalise les données directement dans des fichiers journaux texte une fois la transaction terminée. Lors de l’utilisation d’ETW, HTTP.sys envoie des données à ETW à l’aide du fournisseur iislogging, et le service LOGSVC gère les données de journal, notamment l’interrogation d’ETW pour les données, la collecte de données directement à partir de processus de travail et l’envoi des données à un fichier journal. L’attribut logTargetW3C peut avoir les valeurs possibles suivantes. La valeur par défaut est File . Si File et ETW sont répertoriés pour logTargetW3C pour le fichier journal par défaut du serveur dans applicationHost.config, cela équivaut à sélectionner à la fois le fichier journal et l’événement ETW dans le volet Journalisation du serveur dans le Gestionnaire IIS.
|
||||||||||||||||||||||||||||||||||||||||||||||
maxLogLineLength |
Attribut uint facultatif. Spécifie la longueur maximale d’une ligne dans un fichier journal. Cela vous permet de limiter la quantité de données accumulées par la journalisation et d’économiser de l’espace disque, en particulier lorsque vous ajoutez des champs de journalisation personnalisés. La plage est comprise entre 2 et 65 536. La valeur par défaut est 65536 . |
||||||||||||||||||||||||||||||||||||||||||||||
period |
Attribut d’énumération facultatif. Spécifie la fréquence à laquelle IIS crée un fichier journal. L’attribut de période peut être l’une des valeurs possibles suivantes. La valeur par défaut est Daily .
|
||||||||||||||||||||||||||||||||||||||||||||||
truncateSize |
Attribut int64 facultatif. Spécifie la taille maximale du fichier journal (en octets) après laquelle créer un nouveau fichier journal. Cette valeur s’applique uniquement lorsque MaxSize est choisi pour l’attribut de période. La taille de fichier minimale est 1 048 576 octets. Si cet attribut a pour valeur un nombre inférieur à 1 048 576 octets, la valeur par défaut est implicitement 1 048 576 octets. La valeur par défaut est 20971520 . |
Éléments enfants
Élément | Description |
---|---|
customFields |
Élément facultatif. Spécifie les paramètres de configuration de champs personnalisés par défaut dans un journal W3C. |
Exemple Configuration
L’exemple de configuration suivant spécifie les options logFile
par défaut.
<system.applicationHost>
<sites>
<siteDefaults>
<logFile logFormat="W3C"
directory="%SystemDrive%\inetpub\logs\LogFiles"
enabled="true">
<customFields>
<clear/>
<add logFieldName="ContosoField" sourceName="ContosoSource"
sourceType="ServerVariable" />
</customFields>
</logFile>
</siteDefaults>
</sites>
</system.applicationHost>
Exemple de code
Les exemples de code suivants configurent les options logFile
par défaut pour IIS 7.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.logFormat:"W3C" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.directory:"%SystemDrive%\inetpub\logs\LogFiles" /commit:apphost
Remarque
Vous devez veiller à définir le paramètre commit sur apphost
quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
ConfigurationElement logFileElement = siteDefaultsElement.GetChildElement("logFile");
logFileElement["logFormat"] = @"W3C";
logFileElement["directory"] = @"%SystemDrive%\inetpub\logs\LogFiles";
logFileElement["enabled"] = true;
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")
Dim logFileElement As ConfigurationElement = siteDefaultsElement.GetChildElement("logFile")
logFileElement("logFormat") = "W3C"
logFileElement("directory") = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement("enabled") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");
var logFileElement = siteDefaultsElement.ChildElements.Item("logFile");
logFileElement.Properties.Item("logFormat").Value = "W3C";
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\LogFiles";
logFileElement.Properties.Item("enabled").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")
Set logFileElement = siteDefaultsElement.ChildElements.Item("logFile")
logFileElement.Properties.Item("logFormat").Value = "W3C"
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement.Properties.Item("enabled").Value = True
adminManager.CommitChanges()