estrutura HTTP_LOGGING_INFO (http.h)
A estrutura HTTP_LOGGING_INFO é usada para habilitar o log do lado do servidor em um grupo de URL ou em uma sessão de servidor.
Essa estrutura deve ser usada ao definir ou consultar o HttpServerLoggingProperty em um grupo de URLs ou sessão de servidor.
Sintaxe
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;
Membros
Flags
A estrutura HTTP_PROPERTY_FLAGS que especifica se a propriedade está presente.
LoggingFlags
Os sinalizadores de log opcionais alteram o comportamento de log padrão.
Eles podem ser um ou mais dos seguintes valores de HTTP_LOGGING_FLAG :
SoftwareName
A cadeia de caracteres de nome de software opcional usada no registro em log do tipo W3C. Esse nome não é usado para outros tipos de registro em log. Se esse parâmetro for NULL, a API do Servidor HTTP registrará uma cadeia de caracteres padrão.
SoftwareNameLength
O comprimento, em bytes, do nome do software. O comprimento não pode ser maior que MAX_PATH.
Se o membro SoftwareName for NULL, esse comprimento deverá ser zero.
DirectoryNameLength
O comprimento, em bytes, do nome do diretório. O comprimento não pode ser maior que 424 bytes.
DirectoryName
O diretório de log no qual os arquivos de log são criados. A cadeia de caracteres de diretório deve ser um caminho totalmente qualificado, incluindo a letra da unidade.
Os aplicativos podem usar um caminho UNC para um computador remoto para habilitar o registro em log UNC.
Format
Um membro da enumeração HTTP_LOGGING_TYPE especificando um dos seguintes formatos de arquivo de log.
Fields
Os campos que são registrados quando o formato é definido como W3C. Eles podem ser um ou mais dos valores de Constantes HTTP_LOG_FIELD_ .
Quando o formato de log for W3C for , os aplicativos deverão especificar os campos de log, caso contrário, nenhum campo será registrado.
pExtFields
Reservado. Defina como 0 (zero) ou NULL.
NumOfExtFields
Reservado. Defina como 0 (zero) ou NULL.
MaxRecordSize
Reservado. Defina como 0 (zero) ou NULL.
RolloverType
Um dos membros a seguir da enumeração HTTP_LOGGING_ROLLOVER_TYPE especificando os critérios para a substituição do arquivo de log.
RolloverSize
O tamanho máximo, em bytes, após o qual os arquivos de log são substituídos. Um valor de HTTP_LIMIT_INFINITE indica um tamanho ilimitado. O valor mínimo não pode ser menor que HTTP_MIN_ALLOWED_LOG_FILE_ROLLOVER_SIZE (1024 * 1024).
Esse campo é usado apenas para o tipo de substituição HttpLoggingRolloverSize e deve ser definido como zero para todos os outros tipos.
Quando o tipo de substituição é HttpLoggingRolloverSize, os aplicativos devem especificar o tamanho máximo para o arquivo de log.
pSecurityDescriptor
O descritor de segurança que é aplicado ao diretório de arquivos de log e a todos os subdiretórios. Se esse membro for NULL, a ACL padrão do sistema será usada ou a ACL será herdada do diretório pai.
Comentários
A propriedade HttpServerLoggingProperty define um dos quatro tipos de log do lado do servidor: HttpLoggingTypeW3C, HttpLoggingTypeIIS, HttpLoggingTypeNCSA ou HttpLoggingTypeRaw. Quando essa propriedade é definida em uma sessão de servidor, ela funciona como uma forma centralizada de registro em log para todos os grupos de URLs nessa sessão de servidor. As solicitações roteadas para um dos grupos de URL na sessão do servidor são registradas em um arquivo de log centralizado. Os parâmetros de configuração do arquivo de log são passados na estrutura HTTP_LOGGING_INFO na chamada para HttpSetServerSessionProperty.
Quando essa propriedade é definida em um grupo de URL, o registro em log é executado somente em solicitações roteadas para o Grupo de URLs. Os arquivos de log são criados quando a solicitação chega no grupo de URLs ou na sessão do servidor, eles não são criados quando o registro em log é configurado.
Os aplicativos devem garantir que o diretório especificado no membro DirectoryName seja exclusivo.
Os nomes dos arquivos de log são baseados no tipo de substituição especificado. A tabela a seguir mostra as convenções de nomenclatura para arquivos de log.
Formatar | Tipo de substituição | Padrão de nome de arquivo |
---|---|---|
Formato de log do Microsoft IIS | Tamanho | inetsvnn.log |
A cada hora | inyyymmddhh.log | |
Diariamente | inyyymmdd.log | |
Semanalmente | inyyymmww.log | |
Mensal | inyyymm.log | |
Formato de arquivo de log comum NCSA | Tamanho | ncsann.log |
A cada hora | ncyymmddhh.log | |
Diariamente | ncyymmdd.log | |
Semanalmente | ncyymmww.log | |
Mensal | ncyymm.log | |
Formato de arquivo de log estendido W3C | Tamanho | extendnn.log |
A cada hora | exyymmddh.log | |
Diariamente | exyymmdd.log | |
Semanalmente | exyymmww.log | |
Mensal | exyymm.log |
As letras yy, mm, ww, dd, hh e nn na tabela representam os seguintes dígitos:
- yy: a representação de dois dígitos do ano.
- mm: a representação de dois dígitos do mês.
- ww: a representação de dois dígitos da semana.
- dd: a representação de dois dígitos do dia.
- hh: a representação de dois dígitos da notação de hora em 24 horas.
- nn: a representação de dois dígitos da sequência numérica.
Observe que, na API HTTP versão 2.0, httpSendHttpResponse e HttpSendResponseEntityBody foram revistos para permitir que os aplicativos passem uma estrutura HTTP_LOG_FIELDS_DATA para que a resposta possa ser registrada. Definir a propriedade HttpServerLoggingProperty em uma sessão de servidor ou em um grupo de URL não significa que as respostas HTTP sejam registradas. O logon no grupo de URL ou na sessão do servidor não ocorrerá, a menos que as chamadas para HttpSendResponseEntityBody e HttpSendHttpResponse incluam uma estrutura de HTTP_LOG_FIELDS_DATA opcional. Para obter mais informações, consulte o tópico HTTP_LOG_FIELDS_DATA .
Para obter informações sobre os formatos de arquivo de log, consulte o tópico Formatos de Arquivo de Log do IIS .
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Cabeçalho | http.h |