HTTP_LOGGING_INFO struttura (http.h)

La struttura HTTP_LOGGING_INFO viene usata per abilitare la registrazione lato server in un gruppo di URL o in una sessione server.

Questa struttura deve essere usata quando si imposta o si esegue una query su HttpServerLoggingProperty in una sessione url Group o server.

Sintassi

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

Struttura HTTP_PROPERTY_FLAGS che specifica se la proprietà è presente.

LoggingFlags

I flag di registrazione facoltativi modificano il comportamento di registrazione predefinito.

Questi valori possono essere uno o più dei seguenti valori HTTP_LOGGING_FLAG :

Valore Significato
HTTP_LOGGING_FLAG_LOCAL_TIME_ROLLOVER
Modifica il tempo di rollover del file di log in ora locale. Per impostazione predefinita, i rollover dei file di log sono basati su GMT.
HTTP_LOGGING_FLAG_USE_UTF8_CONVERSION
Per impostazione predefinita, i campi di registrazione Unicode vengono convertiti in multibyte usando la tabella codici locale dei sistemi. Se questo flag è impostato, viene invece usata la conversione UTF8.
HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY
Il flag solo errori di log abilita solo la registrazione degli errori. Per impostazione predefinita, vengono registrati sia errori che richieste di esito positivo.

I flag HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY e HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY vengono usati per eseguire la registrazione selettiva. Solo uno di questi flag può essere impostato alla volta; si escludono a vicenda.

HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY
Il flag di esito positivo del log abilita solo la registrazione delle richieste riuscite. Per impostazione predefinita, vengono registrati sia errori che richieste di esito positivo.

I flag HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY e HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY vengono usati per eseguire la registrazione selettiva. Solo uno di questi flag può essere impostato alla volta; si escludono a vicenda.

SoftwareName

Stringa di nome software facoltativa usata nella registrazione dei tipi W3C. Questo nome non viene usato per altri tipi di registrazione. Se questo parametro è NULL, l'API SERVER HTTP registra una stringa predefinita.

SoftwareNameLength

Lunghezza, in byte, del nome del software. La lunghezza non può essere maggiore di MAX_PATH.

Se il membro SoftwareName è NULL, questa lunghezza deve essere zero.

DirectoryNameLength

Lunghezza, in byte, del nome della directory. La lunghezza non può essere maggiore di 424 byte.

DirectoryName

Directory di registrazione in cui vengono creati i file di log. La stringa di directory deve essere un percorso completo, incluso la lettera di unità.

Le applicazioni possono usare un percorso UNC per un computer remoto per abilitare la registrazione UNC.

Format

Membro dell'enumerazione HTTP_LOGGING_TYPE che specifica uno dei formati di file di log seguenti.

Formato Significato
HttpLoggingTypeW3C
Il formato del log è la registrazione estesa dello stile W3C. Con questo formato, l'applicazione può scegliere una combinazione di campi di log da registrare. Quando la registrazione W3C è impostata su un gruppo DI URL, la registrazione è simile alla registrazione del sito IIS6. Quando la registrazione W3C viene impostata in una sessione server, questa registrazione viene eseguita come registrazione centralizzata per tutti i gruppi di URL.
HttpLoggingTypeIS
Il formato del log è la registrazione dello stile IIS6/5. Questo formato include definizioni di campo fisse; le applicazioni non possono selezionare i campi registrati. Questo formato non può essere usato per la registrazione di una sessione del server.
HttpLoggingTypeNCSA
Il formato del log è la registrazione dello stile NCSA. Questo formato include definizioni di campo fisse; le applicazioni non possono selezionare i campi registrati. Questo formato non può essere usato per la registrazione di una sessione del server.
HttpLoggingTypeRaw
Il formato del log è la registrazione binaria centralizzata. Questo formato include definizioni di campo fisse; le applicazioni non possono selezionare i campi registrati. Questo formato non può essere usato per la registrazione di un gruppo DI URL.

Fields

I campi registrati quando il formato è impostato su W3C. Questi valori possono essere uno o più dei valori costanti HTTP_LOG_FIELD_ .

Quando il formato di registrazione è W3C, le applicazioni devono specificare i campi di log altrimenti non vengono registrati campi.

pExtFields

Riservato. Impostare su 0 (zero) o NULL.

NumOfExtFields

Riservato. Impostare su 0 (zero) o NULL.

MaxRecordSize

Riservato. Impostare su 0 (zero) o NULL.

RolloverType

Uno dei membri seguenti dell'enumerazione HTTP_LOGGING_ROLLOVER_TYPE specificando i criteri per il rollover dei file di log.

Tipo di rollover Significato
HttpLoggingRolloverSize
I file di log vengono distribuiti quando raggiungono o superano una dimensione specificata.
HttpLoggingRolloverDaily
I file di log vengono eseguiti ogni giorno.
HttpLoggingRolloverWeekly
I file di log vengono eseguiti ogni settimana.
HttpLoggingRolloverMonthly
I file di log vengono eseguiti ogni mese.
HttpLoggingRolloverHourly
I file di log vengono eseguiti ogni ora.

RolloverSize

Dimensioni massime, in byte, dopo il roll over dei file di log. Un valore di HTTP_LIMIT_INFINITE indica una dimensione illimitata. Il valore minimo non può essere minore di HTTP_MIN_ALLOWED_LOG_FILE_ROLLOVER_SIZE (1024 * 1024).

Questo campo viene usato solo per il tipo di rollover HttpLoggingRolloverSize e deve essere impostato su zero per tutti gli altri tipi.

Quando il tipo di rollover è HttpLoggingRolloverSize, le applicazioni devono specificare le dimensioni massime per il file di log.

pSecurityDescriptor

Descrittore di sicurezza applicato alla directory dei file di log e a tutte le sotto directory. Se questo membro è NULL, l'ACL predefinito del sistema viene usato o l'ACL viene ereditato dalla directory padre.

Commenti

La proprietà HttpServerLoggingProperty imposta uno dei quattro tipi di registrazione lato server: HttpLoggingTypeW3C, HttpLoggingTypeIIS, HttpLoggingTypeNCSA o HttpLoggingTypeRaw. Quando questa proprietà viene impostata in una sessione server, funziona come forma centralizzata di registrazione per tutti i gruppi di URL nella sessione del server. Le richieste indirizzate a uno dei gruppi di URL nella sessione del server vengono registrate in un file di log centralizzato. I parametri di configurazione per il file di log vengono passati nella struttura HTTP_LOGGING_INFO nella chiamata a HttpSetServerSessionProperty.

Quando questa proprietà è impostata su un gruppo di URL, la registrazione viene eseguita solo sulle richieste indirizzate al gruppo DI URL. I file di log vengono creati quando la richiesta arriva nella sessione del gruppo di URL o del server, non vengono creati quando viene configurata la registrazione.

Le applicazioni devono assicurarsi che la directory specificata nel membro DirectoryName sia univoca.

I nomi dei file di log si basano sul tipo di rollover specificato. Nella tabella seguente vengono illustrate le convenzioni di denominazione per i file di log.

Formato Tipo di rollover Modello di nome file
Formato log microsoft IIS Dimensione inetsvnn.log
Ogni ora inyymmdh.log
Ogni giorno inyymmdd.log
Settimanale inyymmww.log
Ogni mese inyymm.log
Formato di file di log comune NCSA Dimensione ncsann.log
Ogni ora ncyymmdhhh.log
Ogni giorno ncyymmdd.log
Settimanale ncyymmww.log
Ogni mese ncyymm.log
Formato file di log esteso W3C Dimensione extendnn.log
Ogni ora exymmdhhh.log
Ogni giorno exymmdd.log
Settimanale exyymmww.log
Ogni mese exymm.log
 

Le lettere y, mm, ww, dd, hh e nn nella tabella rappresentano le cifre seguenti:

  • y: rappresentazione a due cifre dell'anno.
  • mm: rappresentazione a due cifre del mese.
  • ww: rappresentazione a due cifre della settimana.
  • dd: rappresentazione di due cifre del giorno.
  • hh: rappresentazione a due cifre dell'ora nella notazione di 24 ore.
  • nn: rappresentazione a due cifre della sequenza numerica.

Si noti che nell'API HTTP versione 2.0, httpSendHttpResponse e HttpSendResponseEntityBody sono stati revisionati per consentire alle applicazioni di passare una struttura HTTP_LOG_FIELDS_DATA in modo che sia possibile registrare la risposta. L'impostazione della proprietà HttpServerLoggingProperty in una sessione server o in un gruppo DI URL non significa che le risposte HTTP vengono registrate. L'accesso al gruppo URL o alla sessione del server non verrà eseguito a meno che le chiamate a HttpSendResponseEntityBody e HttpSendHttpResponse includono una struttura di HTTP_LOG_FIELDS_DATA facoltativa. Per altre informazioni, vedere l'argomento HTTP_LOG_FIELDS_DATA .

Per informazioni sui formati di file di log, vedere l'argomento Formati file di log IIS .

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Intestazione http.h

Vedi anche

Strutture dell'API SERVER HTTP versione 2.0

costanti HTTP_LOGGING_FLAG_

HTTP_LOGGING_ROLLOVER_TYPE

HTTP_LOGGING_TYPE

costanti HTTP_LOG_FIELD_

HTTP_SERVER_PROPERTY

HttpCloseRequestQueue

HttpCreateRequestQueue

HttpSetRequestQueueProperty

HttpShutdownRequestQueue