Partager via


Définitions de fournisseurs de traces <traceProviderDefinitions>

Vue d’ensemble

L’élément <traceProviderDefinitions> vous permet de définir une collection de fournisseurs de traces disponibles sur le serveur Internet Information Services (IIS) 7. Un fournisseur de traces est un composant d’application ou de système d’exploitation qui génère des messages de trace ou des événements de trace. Lorsque vous installez le service de rôle Suivi sur IIS 7, par défaut, IIS installe le fournisseur de traces WWW Server, qui est associé au serveur IIS 7, le fournisseur de traces ASP et le fournisseur de traces ISAPI Extension. Si vous installez ASP.NET 2.0 sur le serveur, IIS 7 ajoute automatiquement le fournisseur de traces ASPNET à la collection des définitions de fournisseurs de traces. IIS définit chaque fournisseur de traces dans un élément <add> de l’élément <traceProviderDefinitions>.

Vous pouvez ajouter des fournisseurs de traces personnalisés au serveur en ajoutant un élément <add> qui définit ce fournisseur de traces. Vous pouvez inclure un élément <remove> dans l’élément <traceProviderDefinitions> pour supprimer un seul fournisseur de traces qui est hérité d’un fichier de configuration d’un niveau supérieur dans la hiérarchie de configuration. Vous pouvez utiliser l’élément <clear> pour supprimer tous les fournisseurs de traces hérités.

Compatibilité

Version Notes
IIS 10.0 L’élément <traceProviderDefinitions> n’a fait l’objet d’aucune modification dans IIS 10.0.
IIS 8.5 L’élément <traceProviderDefinitions> n’a fait l’objet d’aucune modification dans IIS 8.5.
IIS 8.0 L’élément <traceProviderDefinitions> n’a fait l’objet d’aucune modification dans IIS 8.0.
IIS 7.5 L’élément <traceProviderDefinitions> n’a fait l’objet d’aucune modification dans IIS 7.5.
IIS 7.0 L’élément <traceProviderDefinitions> a été introduit dans IIS 7.0.
IIS 6.0 S/O

Programme d’installation

Une fois que vous avez terminé l’installation par défaut d’IIS version 7 ou ultérieure, vous devez installer le service de rôle Suivi pour utiliser la fonctionnalité de suivi des demandes ayant échoué. Après avoir installé le service de rôle, vous devez encore activer le suivi des demandes ayant échoué au niveau du site, de l’application ou du répertoire.

Windows Server 2012 ou Windows Server 2012 R2

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans le Gestionnaire de serveur, cliquez sur le menu Gérer, puis cliquez sur Ajouter des rôles et des fonctionnalités.
  3. Dans l’Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d’installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
  4. Dans la page Rôles serveur, développez tour à tour Serveur web (IIS), Serveur web et Intégrité et diagnostics, puis sélectionnez Suivi. Sélectionnez Suivant.
    Screenshot shows Web Server and Health and Diagnostics pane expanded and Tracing selected. .
  5. Dans la page Sélectionner les composants, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  1. Dans l’écran d’accueil, déplacez le pointeur jusqu’au coin inférieur gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez tour à tour Internet Information Services, Services World Wide Web et Intégrité et diagnostics, puis sélectionnez Suivi.
    Screenshot of World Wide Web Services and Health and Diagnostics node expanded with Tracing selected.- Cliquez sur OK.
  4. Cliquez sur Fermer.

Windows Server 2008 ou Windows Server 2008 R2

  1. Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
  2. Dans le volet de la hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
  3. Dans le volet Serveur web (IIS), faites défiler le contenu jusqu’à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.
  4. Dans la page Sélectionner des services de rôle de l’Assistant Ajout de services de rôle, sélectionnez Suivi, puis cliquez sur Suivant.
    Screenshot displays Select Role Services pane expanded and Tracing selected.
  5. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
  6. Dans la page Résultats , cliquez sur Fermer.

Windows Vista ou Windows 7

  1. Dans la barre des tâches, cliquez sur Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez tour à tour Internet Information Services, Services World Wide Web et Intégrité et diagnostics.
  4. Sélectionnez Suivi, puis cliquez sur OK.
    Screenshot shows World Wide Web Services and Health and Diagnostics node expanded with Tracing highlighted.

Procédure

Il n’existe pas d’interface utilisateur permettant d’ajouter des fournisseurs de traces dans IIS 7. Pour obtenir des exemples sur la façon d’ajouter des fournisseurs de traces programmatiquement, consultez la section Exemples de code de ce document.

Configuration

Vous pouvez configurer l’élément <traceProviderDefinitions> au niveau du serveur dans le fichier ApplicationHost.config ou bien au niveau du site, de l’application ou du répertoire dans le fichier Web.config associé.

Attributs

Aucune.

Éléments enfants

Élément Description
add Élément facultatif.

Ajoute un fournisseur de traces à la collection de fournisseurs de traces.
clear Élément facultatif.

Supprime toutes les références aux fournisseurs de traces dans la collection des fournisseurs de traces.
remove Élément facultatif.

Supprime une référence à un fournisseur de traces dans la collection des fournisseurs de traces.

Exemple Configuration

L’élément <traceProviderDefinitions> par défaut suivant est configuré dans le fichier ApplicationHost.config racine dans IIS 7.0.

<traceProviderDefinitions>
   <add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}">
      <areas>
         <clear />
         <add name="Authentication" value="2" />
         <add name="Security" value="4" />
         <add name="Filter" value="8" />
         <add name="StaticFile" value="16" />
         <add name="CGI" value="32" />
         <add name="Compression" value="64" />
         <add name="Cache" value="128" />
         <add name="RequestNotifications" value="256" />
         <add name="Module" value="512" />
      </areas>
   </add>
   <add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}">
      <areas>
         <clear />
      </areas>
   </add>
   <add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}">
      <areas>
         <clear />
      </areas>
   </add>
   <add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">
      <areas>
         <add name="Infrastructure" value="1" />
         <add name="Module" value="2" />
         <add name="Page" value="4" />
         <add name="AppServices" value="8" />
      </areas>
   </add>
</traceProviderDefinitions>

Exemple de code

Les exemples suivants ajoutent un fournisseur de traces personnalisé, comportant deux zones de trace, à la liste définie dans la collection <traceProviderDefinitions> globale.

AppCmd.exe

appcmd.exe set config -section:system.webServer/tracing/traceProviderDefinitions /+"[name='MyTraceProvider',guid='{00000000-0000-0000-0000-00000000000}']" /commit:apphost

appcmd.exe set config -section:system.webServer/tracing/traceProviderDefinitions /+"[guid='{00000000-0000-0000-0000-00000000000}'].areas.[name='ProviderAreaOne',value='0']" /commit:apphost

appcmd.exe set config -section:system.webServer/tracing/traceProviderDefinitions /+"[guid='{00000000-0000-0000-0000-00000000000}'].areas.[name='ProviderAreaTwo',value='1']" /commit:apphost

Remarque

Veillez à 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 location 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 traceProviderDefinitionsSection = config.GetSection("system.webServer/tracing/traceProviderDefinitions");
         ConfigurationElementCollection traceProviderDefinitionsCollection = traceProviderDefinitionsSection.GetCollection();

         ConfigurationElement addElement = traceProviderDefinitionsCollection.CreateElement("add");
         addElement["name"] = @"MyTraceProvider";
         addElement["guid"] = @"{00000000-0000-0000-0000-00000000000}";
         ConfigurationElementCollection areasCollection = addElement.GetCollection("areas");

         ConfigurationElement addElement1 = areasCollection.CreateElement("add");
         addElement1["name"] = @"ProviderAreaOne";
         addElement1["value"] = 0;
         areasCollection.Add(addElement1);

         ConfigurationElement addElement2 = areasCollection.CreateElement("add");
         addElement2["name"] = @"ProviderAreaTwo";
         addElement2["value"] = 1;
         areasCollection.Add(addElement2);

         traceProviderDefinitionsCollection.Add(addElement);
         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 traceProviderDefinitionsSection As ConfigurationSection = config.GetSection("system.webServer/tracing/traceProviderDefinitions")
      Dim traceProviderDefinitionsCollection As ConfigurationElementCollection = traceProviderDefinitionsSection.GetCollection

      Dim addElement As ConfigurationElement = traceProviderDefinitionsCollection.CreateElement("add")
      addElement("name") = "MyTraceProvider"
      addElement("guid") = "{00000000-0000-0000-0000-00000000000}"
      Dim areasCollection As ConfigurationElementCollection = addElement.GetCollection("areas")

      Dim addElement1 As ConfigurationElement = areasCollection.CreateElement("add")
      addElement1("name") = "ProviderAreaOne"
      addElement1("value") = 0
      areasCollection.Add(addElement1)

      Dim addElement2 As ConfigurationElement = areasCollection.CreateElement("add")
      addElement2("name") = "ProviderAreaTwo"
      addElement2("value") = 1
      areasCollection.Add(addElement2)

      traceProviderDefinitionsCollection.Add(addElement)
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var traceProviderDefinitionsSection = adminManager.GetAdminSection("system.webServer/tracing/traceProviderDefinitions", "MACHINE/WEBROOT/APPHOST");
var traceProviderDefinitionsCollection = traceProviderDefinitionsSection.Collection;

var addElement = traceProviderDefinitionsCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "MyTraceProvider";
addElement.Properties.Item("guid").Value = "{00000000-0000-0000-0000-00000000000}";
var areasCollection = addElement.ChildElements.Item("areas").Collection;

var addElement1 = areasCollection.CreateNewElement("add");
addElement1.Properties.Item("name").Value = "ProviderAreaOne";
addElement1.Properties.Item("value").Value = 0;
areasCollection.AddElement(addElement1);

var addElement2 = areasCollection.CreateNewElement("add");
addElement2.Properties.Item("name").Value = "ProviderAreaTwo";
addElement2.Properties.Item("value").Value = 1;
areasCollection.AddElement(addElement2);

traceProviderDefinitionsCollection.AddElement(addElement);
adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set traceProviderDefinitionsSection = adminManager.GetAdminSection("system.webServer/tracing/traceProviderDefinitions", "MACHINE/WEBROOT/APPHOST")
Set traceProviderDefinitionsCollection = traceProviderDefinitionsSection.Collection

Set addElement = traceProviderDefinitionsCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "MyTraceProvider"
addElement.Properties.Item("guid").Value = "{00000000-0000-0000-0000-00000000000}"
Set areasCollection = addElement.ChildElements.Item("areas").Collection

Set addElement1 = areasCollection.CreateNewElement("add")
addElement1.Properties.Item("name").Value = "ProviderAreaOne"
addElement1.Properties.Item("value").Value = 0
areasCollection.AddElement addElement1

Set addElement2 = areasCollection.CreateNewElement("add")
addElement2.Properties.Item("name").Value = "ProviderAreaTwo"
addElement2.Properties.Item("value").Value = 1
areasCollection.AddElement addElement2

traceProviderDefinitionsCollection.AddElement addElement
adminManager.CommitChanges()