Configuración predeterminada del archivo de registro para sitios web <logFile>
Información general
El elemento <logFile>
del elemento <siteDefaults>
contiene atributos que permiten configurar el registro predeterminado de un sitio en IIS 7 y versiones posteriores.
Por ejemplo, puede habilitar o deshabilitar el registro, configurar el formato del archivo de registro de IIS, especificar las categorías de información que se almacenarán en el archivo de registro y cambiar el directorio donde se almacena el archivo de registro. También puede usar el elemento <logFile>
para controlar la frecuencia con la que IIS crea un nuevo archivo de registro basado en el tamaño del archivo de registro o el intervalo de tiempo y el tamaño máximo (en bytes) que puede convertirse un archivo de registro.
De manera predeterminada, IIS 7 y versiones posteriores usan el formato de archivo de registro World Wide Web Consortium (W3C). Puede cambiar esta configuración cambiando el atributo logFormat a IIS, NCSA o Personalizado.
Nota:
El registro ODBC se implementa como un módulo de registro personalizado en IIS 7 y versiones posteriores. Por ello, habilitar y configurar el registro ODBC en IIS 7 y versiones posteriores consta de dos acciones independientes:
- Establecer los atributos de registro ODBC en el elemento
<odbcLogging>
. Estos atributos especifican el nombre de origen de datos del sistema (DSN), el nombre de tabla, el nombre de usuario y la contraseña para la conexión ODBC. - Establecer los atributos de registro personalizados correctos en el elemento
<logFile>
. Estos atributos deben establecer el formato de archivo de registro en "Custom" y el id. de clase de complemento de registro personalizado en "{FF16065B-DE82-11CF-BC0A-00AA006111E0}".
Para obtener más información sobre el registro ODBC, vea el elemento <odbcLogging>
.
Puede definir las categorías de información que registra IIS editando el atributo logExtFileFlags. Los valores predeterminados son Date
, Time
, ClientIP
, UserName
, ServerIP
, Method
, UriStem
, UriQuery
, TimeTaken
, HttpStatus
, Win32Status
, ServerPort
, UserAgent
, HttpSubStatus
y Referer
.
Nota:
Si el elemento <logFile>
está configurado en la sección <siteDefaults>
y en la sección <site>
de un sitio específico, la configuración de la sección <site>
se usa para ese sitio.
IIS 8.5 le permite registrar campos personalizados además del conjunto de registros estándar. El formato del archivo de registro debe ser W3C para agregar campos personalizados. Para obtener más información, vea customFields
.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <logFile> no se modificó en IIS 10.0. |
IIS 8.5 | Se ha agregado el atributo flushByEntrycountW3CLog para especificar el número de eventos que se van a almacenar en el búfer antes de vaciarlos en el archivo de registro. Se ha agregado el atributo logTargetW3C para especificar cómo se procesan los eventos IIS registrados. Se ha agregado el atributo maxLogLineLength para especificar la longitud máxima de una línea en un archivo de registro. Se ha agregado el elemento <customFields> secundario. |
IIS 8.0 | El atributo logSiteId se agregó para especificar el contenido del campo -sitename y la marca referer se agregó al valor predeterminado del atributo logExtFileFlags . |
IIS 7.5 | El elemento <logFile> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <logFile> del elemento <siteDefaults> se introdujo en IIS 7.0. |
IIS 6,0 | El elemento <logFile> reemplaza las secciones de las propiedades de registro en el objeto de metabase IIsWebService de IIS 6.0. |
Configuración
El elemento <logFile>
se incluye en la instalación predeterminada de IIS 7.
Procedimientos
Edición de la configuración de registro predeterminada de un servidor
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, haga clic en el nombre del servidor en el que desea configurar el registro.
En el panel Registro, seleccione el formato de archivo de registro en el cuadro Formato y escriba la ruta de acceso al directorio donde almacena los archivos de registro en el cuadro Directorio o bien haga clic en Examinar... para elegir el directorio en el que quiere almacenar los archivos de registro.
Si decide usar el formato de archivo de registro W3C:
Procedimientos para configurar el registro de archivos o ETW para registros W3C
Abra el Administrador de Internet Information Services (IIS):
Si usa 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.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).
En el panel Conexiones, expanda el nombre del servidor.
En el panel Inicio del sitio, haga doble clic en Registro.
En la página principal de Registro, en Destino de eventos de registro, seleccione Solo archivo de registro, Solo evento ETW o Archivo de registro y evento ETW.
Procedimiento para configurar el vaciado de un registro W3C por recuento de entradas
Abra el Administrador de Internet Information Services (IIS):
Si usa 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.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).
En el panel Conexiones, seleccione el servidor y, a continuación, haga doble clic en Editor de configuración.
En el Editor de configuración, para la Sección, expanda
system.applicationHost
y, después, seleccione Sitios.Expanda siteDefaults y, a continuación, expanda logFile.
En flushByEntryCountW3Clog, escriba el número de eventos que se almacenarán en el búfer antes de vaciarlos en el archivo de registro.
En el panel Acción, haga clic en Aplicar.
Procedimiento para configurar la longitud máxima de la línea de registro
Abra el Administrador de Internet Information Services (IIS):
Si usa 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.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).
En el panel Conexiones, expanda el servidor y, después, haga doble clic en Editor de configuración.
En el Editor de configuración, para la Sección, expanda
system.applicationHost
y, después, seleccione Sitios.Expanda siteDefaults y, a continuación, expanda logFile.
En maxLogLineLength, escriba el número máximo de bytes en una sola línea de un archivo de registro.
En el panel Acción, haga clic en Aplicar.
Configuración
Atributos
Atributo | Descripción | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
customLogPluginClsid |
Atributo de cadena opcional. Especifica el id. de clase de objeto COM (CLSID) o los id., en orden de prioridad, de los módulos personalizados. |
||||||||||||||||||||||||||||||||||||||||||||||
directory |
Atributo de cadena opcional. Especifica el directorio de registro, donde se almacenan los archivos de soporte técnico relacionados con el registro y el archivo de registro. El valor predeterminado es %SystemDrive%\inetpub\logs\LogFiles . |
||||||||||||||||||||||||||||||||||||||||||||||
enabled |
Atributo Boolean opcional. Especifica si, para un sitio, el registro está habilitado (true) o deshabilitado (false). Nota: Los errores de ASP y ODBC no se registran en los archivos de registro de IIS. El valor predeterminado es true . |
||||||||||||||||||||||||||||||||||||||||||||||
flushByEntryCountW3CLog |
Atributo uint opcional. Especifica el número de eventos que se van a almacenar en el búfer antes de vaciarse en el archivo de registro. Un número menor hará que los eventos se vacíen más rápidamente, a costa del rendimiento, como resultado de un mayor número de operaciones de disco. Reduzca este valor para obtener una solución de problemas más en tiempo real; auméntelo para obtener rendimiento. Un valor de 0 especifica que el vaciado se producirá en el máximo predeterminado de 64 000.El valor predeterminado es 0 . |
||||||||||||||||||||||||||||||||||||||||||||||
localTimeRollover |
Atributo Boolean opcional. Especifica si se crea un archivo de registro en función de la hora local o de la hora universal coordinada (UTC), que anteriormente se llamaba Hora del meridiano de Greenwich (GMT). Cuando es false, se crea un archivo de registro basado en UTC. Nota: Independientemente de la configuración, la marca de tiempo de cada registro de registro extendido de W3C se basa en UTC. El valor predeterminado es false . |
||||||||||||||||||||||||||||||||||||||||||||||
logExtFileFlags |
Atributo flags opcional. Especifica las categorías de información escritas en el archivo de registro (cuando se usa el formato de archivo de registro extendido W3C) o en el origen de datos ODBC durante los eventos de registro de un sitio. El atributo logExtFileFlags puede ser uno o varios de los valores siguientes. Si especifica más de un valor, sepárelos con una coma (,). Los valores predeterminados son: Date , Time , ClientIP , UserName , ServerIP , Method , UriStem , UriQuery , TimeTaken , HttpStatus , Win32Status , ServerPort , UserAgent , HttpSubStatus , Referer .
|
||||||||||||||||||||||||||||||||||||||||||||||
logFormat |
Atributo enum opcional. Especifica el formato del archivo de registro. El atributo logFormat puede ser uno de los siguientes valores. El valor predeterminado es W3C .
|
||||||||||||||||||||||||||||||||||||||||||||||
logSiteId |
Atributo Boolean opcional. Especifica que el campo s-sitename contendrá el nombre del sitio (false) o el id. de sitio (true). Si el campo Un archivo de registro por propiedad se establece en Site (el valor predeterminado listo para usar), no obtendrá la columna s-sitename en el archivo de registro de manera predeterminada, ya que la propiedad de nombre del archivo de registro contendrá el id. de sitio en su lugar. Si el campo Un archivo de registro por propiedad se establece en Server , la columna s-sitename se incluirá en el archivo de registro de manera predeterminada.El valor predeterminado es True , lo que significa que el campo s-sitename contiene el id. de sitio. Para registrar el nombre del sitio en su lugar, establezca logSiteID en False . |
||||||||||||||||||||||||||||||||||||||||||||||
logTargetW3C |
Atributo Flags opcional. Especifica si IIS usará el seguimiento de eventos para Windows (ETW) o el registro de archivos a fin de procesar eventos de IIS registrados. ETW proporciona registro y uso en tiempo real de un proveedor ETW y mecanismos de consulta estándar. El registro de archivos almacena datos de eventos en archivos de texto que puede analizar para acceder a los datos de registro. Cuando IIS usa archivos de registro, HTTP.sys registra los datos directamente en archivos de registro de texto una vez completada la transacción. Al usar ETW, HTTP.sys envía datos a ETW mediante el proveedor de iislogging y el servicio LOGSVC administra los datos de registro, incluida la consulta de ETW para los datos, la recopilación de datos directamente de los procesos de trabajo y el envío de los datos a un archivo de registro. El atributo logTargetW3C puede tener los siguientes valores posibles. El valor predeterminado es File . Si File y ETW aparecen en logTargetW3C para los valores predeterminados del archivo de registro del servidor en applicationHost.config, equivale a seleccionar Registro de archivo y evento ETW para la configuración del archivo de registro del sitio en el panel Registro del Administrador de IIS.
|
||||||||||||||||||||||||||||||||||||||||||||||
maxLogLineLength |
Atributo uint opcional. Especifica la longitud máxima de una línea en un archivo de registro. Esto le permite limitar la cantidad de datos acumulados mediante el registro y ahorrar espacio en disco, especialmente cuando se agregan campos de registro personalizados. El intervalo es de 2 a 65 536. El valor predeterminado es 65536 . |
||||||||||||||||||||||||||||||||||||||||||||||
period |
Atributo enum opcional. Especifica la frecuencia con la que IIS crea un archivo de registro. El atributo period puede ser uno de los siguientes valores posibles. El valor predeterminado es Daily .
|
||||||||||||||||||||||||||||||||||||||||||||||
truncateSize |
Atributo int64 opcional. Especifica el tamaño máximo del archivo de registro (en bytes) después del cual se va a crear un nuevo archivo de registro. Este valor solo es aplicable cuando se elige MaxSize para el atributo period. El tamaño mínimo de archivo es 1 048 576 bytes. Si este atributo se establece en un valor inferior a 1 048 576 bytes, se supone de forma implícita que el valor predeterminado es 1 048 576 bytes. El valor predeterminado es 20971520 . |
Elementos secundarios
Elemento | Descripción |
---|---|
customFields |
Elemento opcional. Especifica los valores de configuración para campos personalizados predeterminados en un registro W3C. |
Ejemplo de configuración
En el ejemplo de configuración siguiente se especifican las opciones logFile
predeterminadas.
<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>
Código de ejemplo
Los ejemplos de código siguientes configuran las opciones logFile
predeterminadas para 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
Nota:
Debe asegurarse de establecer el parámetrocommit en apphost
cuando use AppCmd.exe para configurar estos valores. 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 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()