struktur HTTP_LOGGING_INFO (http.h)

Struktur HTTP_LOGGING_INFO digunakan untuk mengaktifkan pengelogan sisi server pada Grup URL atau pada sesi server.

Struktur ini harus digunakan saat mengatur atau mengkueri HttpServerLoggingProperty pada Grup URL atau sesi server.

Sintaks

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;

Anggota

Flags

Struktur HTTP_PROPERTY_FLAGS yang menentukan apakah properti ada.

LoggingFlags

Bendera pengelogan opsional mengubah perilaku pengelogan default.

Ini bisa menjadi satu atau beberapa nilai HTTP_LOGGING_FLAG berikut ini:

Nilai Makna
HTTP_LOGGING_FLAG_LOCAL_TIME_ROLLOVER
Mengubah waktu rollover file log ke waktu lokal. Secara default, rollover file log didasarkan pada GMT.
HTTP_LOGGING_FLAG_USE_UTF8_CONVERSION
Secara default, bidang pengelogan unicode dikonversi menjadi multibyte menggunakan halaman kode lokal sistem. Jika bendera ini diatur, konversi UTF8 digunakan sebagai gantinya.
HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY
Bendera kesalahan log hanya memungkinkan kesalahan pengelogan saja. Secara default, permintaan kesalahan dan keberhasilan dicatat.

Bendera HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY dan HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY digunakan untuk melakukan pengelogan selektif. Hanya salah satu bendera ini yang dapat diatur pada satu waktu; mereka saling eksklusif.

HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY
Bendera hanya keberhasilan log memungkinkan pencatatan permintaan yang berhasil saja. Secara default, permintaan kesalahan dan keberhasilan dicatat.

Bendera HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY dan HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY digunakan untuk melakukan pengelogan selektif. Hanya salah satu bendera ini yang dapat diatur pada satu waktu; mereka saling eksklusif.

SoftwareName

String nama perangkat lunak opsional yang digunakan dalam pengelogan jenis W3C. Nama ini tidak digunakan untuk jenis pengelogan lainnya. Jika parameter ini NULL, API Server HTTP mencatat string default.

SoftwareNameLength

Panjang, dalam byte, dari nama perangkat lunak. Panjang tidak boleh lebih besar dari MAX_PATH.

Jika anggota SoftwareNameadalah NULL, panjang ini harus nol.

DirectoryNameLength

Panjangnya, dalam byte, dari nama direktori. Panjangnya tidak boleh lebih besar dari 424 byte.

DirectoryName

Direktori pengelogan tempat file log dibuat. String direktori harus merupakan jalur yang sepenuhnya memenuhi syarat termasuk huruf kandar.

Aplikasi dapat menggunakan jalur UNC ke komputer jarak jauh untuk mengaktifkan pengelogan UNC.

Format

Anggota enumerasi HTTP_LOGGING_TYPE yang menentukan salah satu format file log berikut.

Format Makna
HttpLoggingTypeW3C
Format log adalah pengelogan yang diperluas gaya W3C. Dengan format ini, aplikasi dapat memilih kombinasi bidang log yang akan dicatat. Ketika pengelogan W3C diatur pada grup URL, pengelogan mirip dengan pengelogan situs IIS6. Ketika pengelogan W3C diatur pada sesi server, pengelogan ini berfungsi sebagai pengelogan terpusat untuk semua Grup URL.
HttpLoggingTypeIIS
Format log adalah pengelogan gaya IIS6/5. Format ini memiliki definisi bidang tetap; aplikasi tidak dapat memilih bidang yang dicatat. Format ini tidak dapat digunakan untuk mencatat sesi server.
HttpLoggingTypeNCSA
Format log adalah pengelogan gaya NCSA. Format ini memiliki definisi bidang tetap; aplikasi tidak dapat memilih bidang yang dicatat. Format ini tidak dapat digunakan untuk mencatat sesi server.
HttpLoggingTypeRaw
Format log adalah pengelogan biner terpusat. Format ini memiliki definisi bidang tetap; aplikasi tidak dapat memilih bidang yang dicatat. Format ini tidak dapat digunakan untuk pengelogan Grup URL.

Fields

Bidang yang dicatat saat format diatur ke W3C. Ini bisa menjadi satu atau beberapa nilai HTTP_LOG_FIELD_ Constants .

Ketika format pengelogan adalah W3C, aplikasi harus menentukan bidang log jika tidak, tidak ada bidang yang dicatat.

pExtFields

Dicadangkan. Atur ke 0 (nol) atau NULL.

NumOfExtFields

Dicadangkan. Atur ke 0 (nol) atau NULL.

MaxRecordSize

Dicadangkan. Atur ke 0 (nol) atau NULL.

RolloverType

Salah satu anggota enumerasi HTTP_LOGGING_ROLLOVER_TYPE berikut yang menentukan kriteria untuk rollover file log.

Jenis Rollover Makna
HttpLoggingRolloverSize
File log digulirkan ketika mencapai atau melebihi ukuran yang ditentukan.
HttpLoggingRolloverDaily
File log digulirkan setiap hari.
HttpLoggingRolloverWeekly
File log digulirkan setiap minggu.
HttpLoggingRolloverMonthly
File log digulirkan setiap bulan.
HttpLoggingRolloverHourly
File log digulirkan setiap jam.

RolloverSize

Ukuran maksimum, dalam byte, setelah itu file log digulirkan. Nilai HTTP_LIMIT_INFINITE menunjukkan ukuran yang tidak terbatas. Nilai minimum tidak boleh lebih kecil dari HTTP_MIN_ALLOWED_LOG_FILE_ROLLOVER_SIZE (1024 * 1024).

Bidang ini hanya digunakan untuk jenis rollover HttpLoggingRolloverSize dan harus diatur ke nol untuk semua jenis lainnya.

Ketika jenis rollover adalah HttpLoggingRolloverSize, aplikasi harus menentukan ukuran maksimum untuk file log.

pSecurityDescriptor

Deskriptor keamanan yang diterapkan ke direktori file log dan semua sub-direktori. Jika anggota ini adalah NULL, ACL default sistem digunakan atau ACL diwarisi dari direktori induk.

Keterangan

Properti HttpServerLoggingProperty menetapkan salah satu dari empat jenis pengelogan sisi server: HttpLoggingTypeW3C, HttpLoggingTypeIIS, HttpLoggingTypeNCSA, atau HttpLoggingTypeRaw. Ketika properti ini diatur pada sesi server, properti ini berfungsi sebagai bentuk pengelogan terpusat untuk semua grup URL di bawah sesi server tersebut. Permintaan yang dirutekan ke salah satu grup URL di bawah sesi server dicatat dalam satu file log terpusat. Parameter konfigurasi untuk file log diteruskan dalam struktur HTTP_LOGGING_INFO dalam panggilan ke HttpSetServerSessionProperty.

Ketika properti ini diatur pada Grup URL, pengelogan hanya dilakukan pada permintaan yang dirutekan ke Grup URL. File log dibuat ketika permintaan tiba di Grup URL atau sesi server, file tersebut tidak dibuat saat pengelogan dikonfigurasi.

Aplikasi harus memastikan bahwa direktori yang ditentukan dalam anggota DirectoryName unik.

Nama file log didasarkan pada jenis rollover yang ditentukan. Tabel berikut ini memperlihatkan konvensi penamaan untuk file log.

Format Jenis rollover Pola nama file
Microsoft IIS Log Format Ukuran inetsvnn.log
Per jam inyymmddhh.log
Harian inyymmdd.log
Mingguan inyymmww.log
Bulanan inyymm.log
Format File Log Umum NCSA Ukuran ncsann.log
Per jam ncyymmddhh.log
Harian ncyymmdd.log
Mingguan ncyymmww.log
Bulanan ncyymm.log
Format File Log Yang Diperluas W3C Ukuran extendnn.log
Per jam exyymmddhh.log
Harian exyymmdd.log
Mingguan exyymmww.log
Bulanan exyymm.log
 

Huruf yy, mm, ww, dd, hh, dan nn dalam tabel mewakili digit berikut:

  • yy: Representasi dua digit tahun ini.
  • mm: Representasi dua digit bulan.
  • ww: Representasi dua digit dalam seminggu.
  • dd: Representasi dua digit hari itu.
  • hh: Representasi dua digit jam dalam notasi 24 jam.
  • nn: Representasi dua digit dari urutan numerik.

Harap dicatat bahwa dalam HTTP versi 2.0 API, HttpSendHttpResponse dan HttpSendResponseEntityBody telah direvisi untuk memungkinkan aplikasi melewati struktur HTTP_LOG_FIELDS_DATA sehingga respons dapat dicatat. Mengatur properti HttpServerLoggingProperty pada sesi server atau grup URL tidak berarti bahwa respons HTTP dicatat. Pengelogan di grup URL atau sesi server tidak akan terjadi kecuali panggilan ke HttpSendResponseEntityBody dan HttpSendHttpResponse menyertakan struktur HTTP_LOG_FIELDS_DATA opsional. Untuk informasi selengkapnya, lihat topik HTTP_LOG_FIELDS_DATA .

Untuk informasi tentang format file log, lihat topik Format File Log IIS .

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Header http.h

Lihat juga

Struktur HTTP Server API Versi 2.0

Konstanta HTTP_LOGGING_FLAG_

HTTP_LOGGING_ROLLOVER_TYPE

HTTP_LOGGING_TYPE

Konstanta HTTP_LOG_FIELD_

HTTP_SERVER_PROPERTY

HttpCloseRequestQueue

HttpCreateRequestQueue

HttpSetRequestQueueProperty

HttpShutdownRequestQueue