Partager via


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

  1. 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).
  2. Dans le volet Connexions, cliquez sur le nom du serveur sur lequel vous souhaitez configurer la journalisation.

  3. Dans le volet Accueil, double-cliquez sur Journalisation.
    Screenshot that shows the Server Home pane, with Logging selected.

  4. 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.
    Screenshot that shows the Logging pane. W 3 C is selected for Format.

  5. 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.
      Screenshot that shows the W 3 C Logging Fields dialog box.

Comment configurer ETW ou journaliser des fichiers pour les journaux W3C

  1. 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).
  2. Dans le volet Connexions, développez le nom du serveur.

  3. Dans le volet d’accueil du site, double-cliquez sur Journalisation.

  4. 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.

    Screenshot that shows the Logging pane. Log file only is selected for Log Event Destination.

Comment configurer le vidage d’un journal W3C en fonction du nombre d’entrées

  1. 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).
  2. Dans le volet Connexions, sélectionnez le serveur, puis double-cliquez sur Éditeur de configuration.

  3. Dans l’Éditeur de configuration, pour la Section, développez system.applicationHost, puis sélectionnez sites.

  4. Développez siteDefaults, puis développez logFile.

  5. 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.

  6. Dans le volet Actions, cliquez sur Appliquer.

    Screenshot that shows the Collection Editor window. In the Properties pane, flush By Entry Count W 3 C Log is selected.

Comment configurer la longueur maximale d’une ligne de journal

  1. 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).
  2. Sélectionnez le serveur dans le volet Connexions, puis double-cliquez sur Éditeur de configuration.

  3. Dans l’Éditeur de configuration, pour la Section, développez system.applicationHost, puis sélectionnez sites.

  4. Développez siteDefaults, puis développez logFile.

  5. Pour maxLogLineLength, entrez le nombre maximal d’octets dans une seule ligne d’un fichier journal.

  6. Dans le volet Actions, cliquez sur Appliquer.

    Screenshot that shows the Collection Editor window. In the Properties pane, max Log Line Length is selected.

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.
Valeur Description
BytesRecv Journalise le nombre d’octets reçus par le serveur.
BytesSent Journalise le nombre d’octets envoyés par le serveur.
ClientIP Journalise l’adresse IP du client qui a effectué la requête.
ComputerName Journalise le nom du serveur sur lequel l’entrée du fichier journal a été générée.
Cookie Journalise le contenu des cookies reçus, le cas échéant.
Date Journalise la date à laquelle l’activité s’est produite.
Host Journalise le nom d’en-tête de l’hôte, s’il en existe un.
HttpStatus Journalise le code d’état HTTP.
HttpSubStatus Journalise le code de sous-état de l’erreur HTTP. Par exemple, pour l’erreur HTTP 500.18, le code d’état est 500 et le code de sous-état est 18.
Method Journalise l’action demandée. Par exemple, GET, POST, etc.
ProtocolVersion Journalise la version du protocole utilisée par le client.
Referer Journalise le dernier site visité par l’utilisateur. Ce site a fourni un lien vers le site actuel.
ServerIP Journalise l’adresse IP du serveur sur lequel l’entrée du fichier journal a été générée.
ServerPort Journalise le numéro de port du serveur configuré pour le site.
SiteName Journalise le nom du service Internet et le numéro d’instance du site.
Time Journalise l’heure UTC à laquelle la demande a été effectuée.
TimeTaken Journalise le temps nécessaire pour la complétion d’une requête. Ce temps est enregistré en millisecondes.

Remarque : l’horodatage de la demande client est initialisé lorsque HTTP.sys reçoit le premier octet, mais avant que HTTP.sys commence à analyser la requête. L’horodatage de la requête client est arrêté lorsque la dernière saisie d’envoi IIS se termine. Le temps nécessaire ne reflète pas le temps sur le réseau. La première requête adressée au site affiche un temps légèrement plus long que d’autres demandes similaires, car HTTP.sys ouvre le fichier journal qui contient la première requête.
UriQuery Journalise la requête éventuelle que le client essayait d’exécuter. Une requête URI (Universal Resource Identifier) est nécessaire uniquement pour les pages dynamiques, et se compose généralement de paramètres passés à l’URL.
UriStem Consignez les informations de souche de l’URI (Universal Resource Identifier), qui est la cible de l’action. Par exemple, Default.htm.
UserAgent Journalise le type de navigateur utilisé par le client.
UserName Journalise le nom de l’utilisateur authentifié ayant accédé au serveur. Les utilisateurs anonymes sont indiqués par un trait d'union.
Win32Status Journalise le code d’état Windows.
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.
Valeur Description
Custom Utilisez un format de fichier journal personnalisé pour un module de journalisation personnalisé.

La valeur numérique est 3.
IIS Utilisez le format de fichier journal Microsoft IIS pour enregistrer des informations relatives à un site. Ce format est géré par HTTP.sys. Il s’agit d’un format textuel ASCII fixe , ce qui signifie que vous ne pouvez pas personnaliser les champs qui sont enregistrés. Les champs sont séparés par des virgules et l’heure est enregistrée en heure locale. La liste suivante répertorie les champs qui sont enregistrés lorsque vous utilisez le format de fichier journal IIS :
  • Adresse IP du client
  • Nom d'utilisateur
  • Date
  • Heure
  • Service et instance
  • Nom du serveur
  • Adresse IP du serveur
  • Temps nécessaire
  • Octets clients envoyés
  • Octets serveur envoyés
  • Service status code (La valeur 200 indique que la demande a été exécutée.)
  • Windows status code (La valeur 0 indique que la demande a été exécutée.)
  • Type de requête
  • Cible de l’opération
  • Paramètres (Les paramètres qui sont passés à un script)
Tous les champs ne contiendront pas de données. Lorsqu’un champ ne contient pas de données, un trait d’union (-) est utilisé comme espace réservé. Lorsqu’un champ contient un caractère non affichable, HTTP.sys le remplace par un signe plus (+) pour conserver le format du fichier journal.

La valeur numérique est 0.
NCSA Utilisez le format de fichier journal NCSA (National Center for Supercomputing Applications) pour enregistrer des informations relatives à un site. Ce format est géré par HTTP.sys. Il s’agit d’un format textuel ASCII fixe , ce qui signifie que vous ne pouvez pas personnaliser les champs qui sont enregistrés. Les champs sont séparés par des espaces et l’heure est enregistrée en heure locale avec le décalage par rapport au temps universel coordonné (UTC). La liste suivante répertorie les champs qui sont enregistrés lorsque vous utilisez le format de fichier journal NCSA commun :
  • Adresse de l’hôte distant
  • Remote log name (Cette valeur est toujours un trait d’union.)
  • Nom d'utilisateur
  • Date, heure et décalage UTC
  • Version de requête et de protocole
  • Service status code (La valeur 200 indique que la demande a été exécutée.)
  • Octets envoyés
Tous les champs ne contiendront pas de données. Lorsqu’un champ ne contient pas de données, un trait d’union (-) est utilisé comme espace réservé. Lorsqu’un champ contient un caractère non affichable, HTTP.sys le remplace par un signe plus (+) pour conserver le format du fichier journal.

La valeur numérique est 1.
W3C Utilisez le format de journal W3C étendu pour enregistrer des informations relatives à un site. Ce format est géré par HTTP.sys et il s’agit d’un format textuel ASCII personnalisable , ce qui signifie que vous spécifiez les champs à enregistrer. Spécifiez les champs journalisés avec l’attribut logExtFileFlags . Les champs sont séparés par des espaces et l’heure est enregistrée en temps universel coordonné (UTC).

La valeur numérique est 2.
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.
Valeur Description
File Les données d’événement IIS sont stockées dans un fichier journal texte. Pour traiter les données d’événement, vous devez analyser le fichier journal textuel. Les fichiers journaux de texte mettent du temps à être traités et vidés, vous ne pourrez donc pas traiter les données d’événement en temps réel.

La valeur numérique est 1.
ETW Au lieu de journaliser des données directement dans des fichiers texte, IIS envoie des informations journalisées au Suivi d’événements pour Windows, un mécanisme d’événements génériques intégré à Windows. Vous pouvez gérer les données journalisées à l’aide d’outils de requête standard, tels que l’analyseur de messages ou les outils personnalisés. ETW traite les informations journalisées en temps réel et vous donne la possibilité de filtrer et d’afficher les données, et d’activer ou de désactiver la journalisation dynamiquement. ETW ajoute également des informations détaillées aux données d’événement, fournissant des données auxquelles HTTP.sys n’a pas accès. Pour plus d’informations, consultez le Suivi d’événements.

La valeur numérique est 2.
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.
Valeur Description
Daily Crée un nouveau fichier journal tous les jours.

La valeur numérique est 1.
Hourly Créer un nouveau fichier journal.

La valeur numérique est 4.
MaxSize Créer un fichier journal lorsqu’une taille maximale est atteinte. La taille maximale est spécifiée dans l’attribut truncateSize.

La valeur numérique est 0.
Monthly Créer un fichier journal mensuel.

La valeur numérique est 3.
Weekly Crée un nouveau fichier journal toutes les semaines.

La valeur numérique est 2.
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()