Bagikan melalui


Http Logging <httpLogging>

Gambaran Umum

Elemen ini <httpLogging> memungkinkan Anda mengonfigurasi IIS untuk menghasilkan entri log hanya untuk permintaan yang berhasil, permintaan yang gagal, atau keduanya. Setelah mengonfigurasi pengelogan untuk setiap situs Web di tingkat server, Anda dapat menggunakan elemen ini untuk mengaktifkan pengelogan selektif untuk URL individual. Secara default, pengelogan HTTP diaktifkan untuk semua permintaan di Internet Information Services (IIS) 7.

Anda dapat melihat file log untuk situs kapan saja untuk melihat permintaan mana yang gagal dan permintaan mana yang berhasil. Saat Anda tidak lagi ingin IIS mencatat permintaan tertentu untuk situs, nonaktifkan pengelogan untuk situs tersebut.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <httpLogging> tidak dimodifikasi di IIS 10.0.
IIS 8.5 Elemen <httpLogging> tidak dimodifikasi di IIS 8.5.
IIS 8.0 Elemen <httpLogging> tidak dimodifikasi di IIS 8.0.
IIS 7.5 Elemen <httpLogging> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <httpLogging> ini diperkenalkan di IIS 7.0.
IIS 6.0 Elemen <httpLogging> dan <logFile> elemen menggantikan properti pengelogan pada objek metabase IIS 6.0 IIsWebService .

Siapkan

Elemen <httpLogging> ini disertakan dalam penginstalan default IIS 7.

Bagaimana Caranya

Cara mengaktifkan pengelogan HTTP untuk situs atau aplikasi

  1. Buka Manajer Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
  2. Di panel Koneksi , perluas nama server, perluas Situs, lalu navigasikan ke situs Web atau aplikasi yang ingin Anda konfigurasikan pengelogan HTTPnya.

  3. Di panel Beranda , klik dua kali Pengelogan.

  4. Di panel Tindakan , klik Aktifkan untuk mengaktifkan pengelogan.
    Cuplikan layar panel Pengelogan. Teks Gunakan fitur ini untuk mengonfigurasi cara server permintaan log I S ditampilkan.

  5. Pilih format file log yang ingin Anda gunakan untuk situs atau aplikasi Anda di daftar drop-down Format , dan, jika Anda ingin mengubah lokasi default tempat IIS menyimpan file log, ketik jalur tempat Anda ingin menyimpan file log untuk situs atau aplikasi dalam kotak Direktori .

  6. (Opsional) Jika Anda memilih W3C di daftar drop-down Format di langkah 5, klik Pilih Bidang.

  7. (Opsional) Dalam kotak dialog Bidang Pengelogan W3C , pilih bidang W3C yang ingin Anda catat, kosongkan bidang W3C yang tidak ingin Anda catat, lalu klik OK.
    Cuplikan layar kotak dialog Bidang Pengelogan W tiga C. Kotak centang untuk Tanggal, Waktu, Alamat I P Klien, Nama Pengguna, Nama Layanan, dan Alamat I P Server dicentang. Nama Layanan disorot.

  8. Di panel Tindakan , klik Terapkan.
    Cuplikan layar panel Tindakan. Kotak Satu file log ditampilkan.

Konfigurasi

Anda dapat mengonfigurasi <httpLogging> elemen di tingkat server dalam file ApplicationHost.config dan di tingkat situs, aplikasi, atau URL dalam file Web.config yang sesuai.

Atribut

Atribut Deskripsi
dontLog Atribut Boolean opsional.

Menentukan apakah pengelogan HTTP diaktifkan untuk permintaan yang berhasil. Permintaan dianggap berhasil jika kode statusnya kurang dari 400.

Nilai defaultnya adalah false.
selectiveLogging Atribut enum opsional.

Menentukan jenis permintaan mana yang akan dicatat.

Atribut selectiveLogging dapat menjadi salah satu nilai yang mungkin berikut.

Nilai defaultnya adalah LogAll.
Nilai Deskripsi
LogAll Mencatat semua permintaan.

Nilai numerik adalah 0.
LogSuccessful Hanya mencatat permintaan yang berhasil. Rentang kode status HTTP untuk permintaan yang berhasil adalah 100-399.

Nilai numerik adalah 1.
LogError Hanya mencatat permintaan yang gagal. Rentang kode status HTTP untuk permintaan yang gagal adalah 400-999.

Nilai numerik adalah 2.

Elemen Anak

Tidak ada.

Sampel Konfigurasi

Contoh konfigurasi berikut, ketika disertakan dalam file Web.config untuk situs atau aplikasi, mengonfigurasi pengelogan HTTP dan menentukan bahwa IIS hanya boleh mencatat permintaan yang menghasilkan kesalahan.

<configuration>
   <system.webServer>
      <httpLogging dontLog="false" selectiveLogging="LogError" />
   </system.webServer>
<configuration>

Kode Sampel

Contoh berikut mengaktifkan pengelogan HTTP untuk situs Web bernama Contoso, dan menentukan bahwa IIS tidak boleh mencatat permintaan apa pun.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/httpLogging /dontLog:"True" /commit:apphost

appcmd.exe set config "Contoso" -section:system.webServer/httpLogging /selectiveLogging:"LogAll" /commit:apphost

Catatan

Anda harus memastikan untuk mengatur parameter penerapan ke apphost saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file 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 httpLoggingSection = config.GetSection("system.webServer/httpLogging", "Contoso");
         httpLoggingSection["selectiveLogging"] = @"LogAll";
         httpLoggingSection["dontLog"] = 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 httpLoggingSection As ConfigurationSection = config.GetSection("system.webServer/httpLogging", "Contoso")
      httpLoggingSection("selectiveLogging") = "LogAll"
      httpLoggingSection("dontLog") = True
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var httpLoggingSection = adminManager.GetAdminSection("system.webServer/httpLogging", "MACHINE/WEBROOT/APPHOST/Contoso");
httpLoggingSection.Properties.Item("selectiveLogging").Value = "LogAll";
httpLoggingSection.Properties.Item("dontLog").Value = true;

adminManager.CommitChanges();

Vbscript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set httpLoggingSection = adminManager.GetAdminSection("system.webServer/httpLogging", "MACHINE/WEBROOT/APPHOST/Contoso")
httpLoggingSection.Properties.Item("selectiveLogging").Value = "LogAll"
httpLoggingSection.Properties.Item("dontLog").Value = True

adminManager.CommitChanges()