Compartir a través de


Registro HTTP <httpLogging>

Información general

El elemento <httpLogging> permite configurar IIS para generar entradas de registro solo para solicitudes correctas, solicitudes con error o ambas. Después de configurar el registro para cada sitio web a nivel de servidor, puede usar este elemento para habilitar el registro selectivo para direcciones URL individuales. De forma predeterminada, el registro HTTP se habilita para todas las solicitudes de Internet Information Services (IIS) 7.

Puede ver el archivo de registro de un sitio en cualquier momento para ver qué solicitudes producen errores y qué solicitudes se ejecutan correctamente. Cuando ya no quiera que IIS registre determinadas solicitudes de un sitio, deshabilite el registro para ese sitio.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <httpLogging> no se modificó en IIS 10.0.
IIS 8.5 El elemento <httpLogging> no se modificó en IIS 8.5.
IIS 8.0 El elemento <httpLogging> no se modificó en IIS 8.0.
IIS 7.5 El elemento <httpLogging> no se modificó en IIS 7.5.
IIS 7.0 El elemento <httpLogging> se introdujo en IIS 7.0.
IIS 6,0 El elemento <httpLogging> y el elemento <logFile> reemplazan a las propiedades de registro en el objeto de metabase IIsWebService de ISS 6.0.

Configuración

El elemento <httpLogging> se incluye en la instalación predeterminada de IIS 7.

Procedimientos

Habilitación del registro HTTP para un sitio o aplicación

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • En Panel de control, haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, expanda el nombre del servidor, expanda Sitios y, a continuación, vaya al sitio o aplicación web para los que desea configurar el registro HTTP.

  3. En el panel Inicio, haga doble clic en Registro.

  4. En el panel Acciones, haga clic en Habilitar para habilitar el registro.
    Screenshot of the Logging pane. The text Use this feature to configure how I I S logs request server is shown.

  5. Seleccione el formato de archivo de registro que desea usar para su sitio o aplicación en la lista desplegable Formato y, si desea cambiar la ubicación predeterminada donde IIS almacena los archivos de registro, escriba la ruta de acceso donde desea almacenar los archivos de registro para el sitio o la aplicación en el cuadro Directorio.

  6. (Opcional) Si seleccionó W3C en la lista desplegable Formato del paso 5, haga clic en Seleccionar campos.

  7. (Opcional) En el cuadro de diálogo Campos de registro de W3C, seleccione los campos W3C que desea registrar, desactive los campos W3C que no quiera registrar y, a continuación, haga clic en Aceptar.
    Screenshot of the W three C Logging Fields dialog box. The checkboxes for Date, Time, Client I P Address, User Name, Service Name and Server I P Address are checked. Service Name is highlighted.

  8. En el panel Acciones, haga clic en Aplicar.
    Screenshot of the Actions pane. The One log file box is shown.

Configuración

Puede configurar el elemento <httpLogging> a nivel de servidor en el archivo ApplicationHost.config y a nivel de sitio, aplicación o dirección URL en el archivo Web.config adecuado.

Atributos

Atributo Descripción
dontLog Atributo Boolean opcional.

Especifica si el registro HTTP está habilitado para solicitudes correctas. Una solicitud se considera correcta si su código de estado es inferior a 400.

El valor predeterminado es false.
selectiveLogging Atributo enum opcional.

Especifica el tipo de solicitudes que se van a registrar.

El atributo selectiveLogging puede tener uno de los siguientes valores posibles.

El valor predeterminado es LogAll.
Valor Descripción
LogAll Registra todas las solicitudes.

El valor numérico es 0.
LogSuccessful Registra solo las solicitudes correctas. El intervalo de códigos de estado HTTP para solicitudes correctas es 100-399.

El valor numérico es 1.
LogError Registra solo solicitudes incorrectas. El intervalo de códigos de estado HTTP para solicitudes incorrectas es 400-999.

El valor numérico es 2.

Elementos secundarios

Ninguno.

Ejemplo de configuración

En el ejemplo de configuración siguiente, cuando se incluye en un archivo Web.config para un sitio o aplicación, se configura el registro HTTP y se especifica que IIS solo debe registrar las solicitudes que generan errores.

<configuration>
   <system.webServer>
      <httpLogging dontLog="false" selectiveLogging="LogError" />
   </system.webServer>
<configuration>

Código de ejemplo

En los ejemplos siguientes se habilita el registro HTTP para un sitio web denominado Contoso y se especifica que IIS no debe registrar ninguna solicitud.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/httpLogging /dontLog:"True" /commit:apphost

appcmd.exe set config "Contoso" -section:system.webServer/httpLogging /selectiveLogging:"LogAll" /commit:apphost

Nota:

Debe asegurarse de establecer el parámetro de confirmación en apphost cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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 httpLoggingSection = config.GetSection("system.webServer/httpLogging", "Contoso");
         httpLoggingSection["selectiveLogging"] = @"LogAll";
         httpLoggingSection["dontLog"] = 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 httpLoggingSection As ConfigurationSection = config.GetSection("system.webServer/httpLogging", "Contoso")
      httpLoggingSection("selectiveLogging") = "LogAll"
      httpLoggingSection("dontLog") = True
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var httpLoggingSection = adminManager.GetAdminSection("system.webServer/httpLogging", "MACHINE/WEBROOT/APPHOST/Contoso");
httpLoggingSection.Properties.Item("selectiveLogging").Value = "LogAll";
httpLoggingSection.Properties.Item("dontLog").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set httpLoggingSection = adminManager.GetAdminSection("system.webServer/httpLogging", "MACHINE/WEBROOT/APPHOST/Contoso")
httpLoggingSection.Properties.Item("selectiveLogging").Value = "LogAll"
httpLoggingSection.Properties.Item("dontLog").Value = True

adminManager.CommitChanges()