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
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).
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.
En el panel Inicio, haga doble clic en Registro.
En el panel Acciones, haga clic en Habilitar para habilitar el registro.
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.
(Opcional) Si seleccionó W3C en la lista desplegable Formato del paso 5, haga clic en Seleccionar campos.
(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.
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 .
|
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()