estructura de HTTP_LOGGING_INFO (http.h)

La estructura HTTP_LOGGING_INFO se usa para habilitar el registro del lado servidor en un grupo de direcciones URL o en una sesión de servidor.

Esta estructura debe usarse al establecer o consultar HttpServerLoggingProperty en una sesión de grupo de direcciones URL o servidor.

Sintaxis

typedef struct _HTTP_LOGGING_INFO {
  HTTP_PROPERTY_FLAGS        Flags;
  ULONG                      LoggingFlags;
  PCWSTR                     SoftwareName;
  USHORT                     SoftwareNameLength;
  USHORT                     DirectoryNameLength;
  PCWSTR                     DirectoryName;
  HTTP_LOGGING_TYPE          Format;
  ULONG                      Fields;
  PVOID                      pExtFields;
  USHORT                     NumOfExtFields;
  USHORT                     MaxRecordSize;
  HTTP_LOGGING_ROLLOVER_TYPE RolloverType;
  ULONG                      RolloverSize;
  PSECURITY_DESCRIPTOR       pSecurityDescriptor;
} HTTP_LOGGING_INFO, *PHTTP_LOGGING_INFO;

Members

Flags

Estructura HTTP_PROPERTY_FLAGS que especifica si la propiedad está presente.

LoggingFlags

Las marcas de registro opcionales cambian el comportamiento de registro predeterminado.

Estos pueden ser uno o varios de los siguientes valores de HTTP_LOGGING_FLAG :

Valor Significado
HTTP_LOGGING_FLAG_LOCAL_TIME_ROLLOVER
Cambia la hora de sustitución del archivo de registro a la hora local. De forma predeterminada, las sustitucións de archivos de registro se basan en GMT.
HTTP_LOGGING_FLAG_USE_UTF8_CONVERSION
De forma predeterminada, los campos de registro unicode se convierten en multibytes mediante la página de códigos local del sistema. Si se establece esta marca, se usa la conversión UTF8 en su lugar.
HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY
La marca de errores de registro solo habilita los errores de registro. De forma predeterminada, se registran las solicitudes de error y correcta.

Las marcas HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY y HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY se usan para realizar el registro selectivo. Solo se puede establecer una de estas marcas a la vez; son mutuamente excluyentes.

HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY
La marca solo de éxito del registro permite registrar solo solicitudes correctas. De forma predeterminada, se registran las solicitudes de error y correcta.

Las marcas HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY y HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY se usan para realizar el registro selectivo. Solo se puede establecer una de estas marcas a la vez; son mutuamente excluyentes.

SoftwareName

Cadena de nombre de software opcional usada en el registro de tipos W3C. Este nombre no se usa para otros tipos de registro. Si este parámetro es NULL, la API del servidor HTTP registra una cadena predeterminada.

SoftwareNameLength

Longitud, en bytes, del nombre de software. La longitud no puede ser mayor que MAX_PATH.

Si el miembro SoftwareName es NULL, esta longitud debe ser cero.

DirectoryNameLength

Longitud, en bytes, del nombre del directorio. La longitud no puede ser mayor que 424 bytes.

DirectoryName

Directorio de registro en el que se crean los archivos de registro. La cadena de directorio debe ser una ruta de acceso completa, incluida la letra de unidad.

Las aplicaciones pueden usar una ruta de acceso UNC a una máquina remota para habilitar el registro UNC.

Format

Miembro de la enumeración HTTP_LOGGING_TYPE especificando uno de los siguientes formatos de archivo de registro.

Formato Significado
HttpLoggingTypeW3C
El formato de registro es el registro extendido de estilo W3C. Con este formato, la aplicación puede elegir una combinación de campos de registro que se van a registrar. Cuando el registro de W3C se establece en un grupo de direcciones URL, el registro es similar al registro del sitio de IIS6. Cuando el registro de W3C se establece en una sesión de servidor, este registro funciona como un registro centralizado para todos los grupos de direcciones URL.
HttpLoggingTypeIIS
El formato de registro es el registro de estilo IIS6/5. Este formato tiene definiciones de campo fijas; las aplicaciones no pueden seleccionar los campos registrados. Este formato no se puede usar para registrar una sesión de servidor.
HttpLoggingTypeNCSA
El formato de registro es el registro de estilo NCSA. Este formato tiene definiciones de campo fijas; las aplicaciones no pueden seleccionar los campos registrados. Este formato no se puede usar para registrar una sesión de servidor.
HttpLoggingTypeRaw
El formato de registro es un registro binario centralizado. Este formato tiene definiciones de campo fijas; las aplicaciones no pueden seleccionar los campos registrados. Este formato no se puede usar para registrar un grupo de direcciones URL.

Fields

Los campos que se registran cuando el formato se establece en W3C. Pueden ser uno o varios de los valores de HTTP_LOG_FIELD_ Constantes .

Cuando el formato de registro es W3C es , las aplicaciones deben especificar los campos de registro; de lo contrario, no se registran campos.

pExtFields

Reservado. Establezca en 0 (cero) o NULL.

NumOfExtFields

Reservado. Establezca en 0 (cero) o NULL.

MaxRecordSize

Reservado. Establezca en 0 (cero) o NULL.

RolloverType

Uno de los siguientes miembros de la enumeración HTTP_LOGGING_ROLLOVER_TYPE especifica los criterios para la sustitución de archivos de registro.

Tipo de sustitución Significado
HttpLoggingRolloverSize
Los archivos de registro se revierten cuando alcanzan o superan un tamaño especificado.
HttpLoggingRolloverDaily
Los archivos de registro se revierten todos los días.
HttpLoggingRolloverWeekly
Los archivos de registro se revierten cada semana.
HttpLoggingRolloverMonthly
Los archivos de registro se revierten cada mes.
HttpLoggingRolloverHourly
Los archivos de registro se revierten cada hora.

RolloverSize

Tamaño máximo, en bytes, después del cual se revierte el archivo de registro. Un valor de HTTP_LIMIT_INFINITE indica un tamaño ilimitado. El valor mínimo no puede ser menor que HTTP_MIN_ALLOWED_LOG_FILE_ROLLOVER_SIZE (1024 * 1024).

Este campo solo se usa para el tipo de sustitución HttpLoggingRolloverSize y debe establecerse en cero para todos los demás tipos.

Cuando el tipo de sustitución es HttpLoggingRolloverSize, las aplicaciones deben especificar el tamaño máximo del archivo de registro.

pSecurityDescriptor

Descriptor de seguridad que se aplica al directorio de archivos de registro y a todos los subdirectorios. Si este miembro es NULL, se usa la ACL predeterminada del sistema o la ACL se hereda del directorio primario.

Comentarios

La propiedad HttpServerLoggingProperty establece uno de los cuatro tipos de registro del lado servidor: HttpLoggingTypeW3C, HttpLoggingTypeIIS, HttpLoggingTypeNCSA o HttpLoggingTypeRaw. Cuando esta propiedad se establece en una sesión de servidor, funciona como forma centralizada de registro para todos los grupos de direcciones URL de esa sesión de servidor. Las solicitudes que se enrutan a uno de los grupos de direcciones URL de la sesión del servidor se registran en un archivo de registro centralizado. Los parámetros de configuración del archivo de registro se pasan en la estructura HTTP_LOGGING_INFO de la llamada a HttpSetServerSessionProperty.

Cuando esta propiedad se establece en un grupo de direcciones URL, el registro solo se realiza en las solicitudes que se enrutan al grupo de direcciones URL. Los archivos de registro se crean cuando la solicitud llega a la sesión del grupo de direcciones URL o del servidor, no se crean cuando se configura el registro.

Las aplicaciones deben asegurarse de que el directorio especificado en el miembro DirectoryName sea único.

Los nombres de los archivos de registro se basan en el tipo de sustitución especificado. En la tabla siguiente se muestran las convenciones de nomenclatura para los archivos de registro.

Formato Tipo de sustitución Patrón de nombre de archivo
Formato de registro de Microsoft IIS Size inetsvnn.log
Cada hora inyymmddhh.log
Diario inyymmdd.log
Cada semana inyymmww.log
Mensual inyymm.log
Formato de archivo de registro común de NCSA Size ncsann.log
Cada hora ncyymmddhh.log
Diario ncyymmdd.log
Cada semana ncyymmww.log
Mensual ncyymm.log
Formato de archivo de registro extendido W3C Size extendnn.log
Cada hora exyymmddhh.log
Diario exyymmdd.log
Cada semana exyymmww.log
Mensual exyymm.log
 

Las letras aaaa, mm, ww, dd, hh y nn de la tabla representan los dígitos siguientes:

  • yy: representación de dos dígitos del año.
  • mm: representación de dos dígitos del mes.
  • ww: representación de dos dígitos de la semana.
  • dd: representación de dos dígitos del día.
  • hh: representación de dos dígitos de la hora en notación de 24 horas.
  • nn: representación de dos dígitos de la secuencia numérica.

Tenga en cuenta que, en la API http versión 2.0, httpSendHttpResponse y HttpSendResponseEntityBody se han revisado para permitir que las aplicaciones pasen una estructura de HTTP_LOG_FIELDS_DATA para que se pueda registrar la respuesta. Establecer la propiedad HttpServerLoggingProperty en una sesión de servidor o un grupo de direcciones URL no significa que se registren las respuestas HTTP. El registro en el grupo de direcciones URL o la sesión del servidor no tendrá lugar a menos que las llamadas a HttpSendResponseEntityBody y HttpSendHttpResponse incluyan una estructura de HTTP_LOG_FIELDS_DATA opcional. Para obtener más información, consulte el tema HTTP_LOG_FIELDS_DATA .

Para obtener información sobre los formatos de archivo de registro, consulte el tema Formatos de archivo de registro de IIS.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado http.h

Consulte también

Estructuras de la API de servidor HTTP versión 2.0

constantes de HTTP_LOGGING_FLAG_

HTTP_LOGGING_ROLLOVER_TYPE

HTTP_LOGGING_TYPE

constantes de HTTP_LOG_FIELD_

HTTP_SERVER_PROPERTY

HttpCloseRequestQueue

HttpCreateRequestQueue

HttpSetRequestQueueProperty

HttpShutdownRequestQueue