中央の W3C ログ ファイル <centralW3CLogFile>

概要

<centralW3CLogFile> 要素は、サーバー上のすべてのサイトに対して中央の W3C ログ設定を指定します。

Note

<centralW3CLogFile> 要素の属性を有効にするには、親の <log> 要素の centralLogFileMode 属性を CentralW3C に設定する必要があります。 <log> 要素の centralLogFileMode 属性が CentralBinary または Site に設定されている場合、<centralW3CLogFile> 要素の属性は無視されます。

Note

W3C 形式のログ ファイルは、ほとんどのログ解析ユーティリティが処理できるテキスト ベースのファイルです。 Binary ログ ファイルは、Microsoft の Log Parser ユーティリティなどの、その形式でログ ファイルを処理できるアプリケーションの使用を必要とする独自のストレージ形式を使用します。

互換性

バージョン メモ
IIS 10.0 <centralW3CLogFile> 要素は、IIS 10.0 では変更されませんでした。
IIS 8.5 <centralW3CLogFile> 要素は、IIS 8.5 では変更されませんでした。
IIS 8.0 <centralW3CLogFile> 要素は IIS 8.0 では変更されませんでした。
IIS 7.5 <centralW3CLogFile> 要素は、IIS 7.5 では変更されませんでした。
IIS 7.0 <log> 要素の <centralW3CLogFile> 要素が IIS 7.0 で導入されました。
IIS 6.0 <log> 要素は、IIS 6.0 CentralW3CLoggingEnabled フラグを置き換えます。

段取り

<log> 要素の <centralW3CLogFile> 要素は、IIS 7 の既定のインストールに含まれています。

操作方法

サーバーに対して中央の W3C ログを有効にする方法

  1. 次のようにインターネット インフォメーション サービス (IIS) マネージャーを開きます。

    • Windows Server 2012 または Windows Server 2012 R2 を使用している場合:

      • タスク バーで、[サーバー マネージャー] をクリックし、[ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows 8 または Windows 8.1 を使用している場合:

      • Windows キーを押しながら文字 X を押し、[コントロール パネル] をクリックします。
      • [管理ツール] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
    • Windows Server 2008 または Windows Server 2008 R2 を使用している場合:

      • タスク バーで、[スタート] ボタンをクリックし、[管理ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows Vista または Windows 7 を使用している場合:

      • タスク バーで、[スタート][コントロール パネル] の順にクリックします。
      • [管理ツール] をダブルクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
  2. [接続] ウィンドウでサーバー名をクリックします。

  3. サーバーの [ホーム] ウィンドウで、[ログ記録] をダブルクリックします。
    [ログ] アイコンが強調表示されているスクリーンショット。

  4. [ログ記録] ページの [ログ ファイル作成単位] で、ドロップダウン リストから [サーバー] を選択して、[形式] ドロップダウン リストから [W3C] を選びます。
    [形式] ドロップダウンが強調表示されている [ログ] 画面のスクリーンショット。

  5. [操作] ペインで [適用] をクリックします。

構成

属性

属性 説明
directory 省略可能な文字列属性。

ログ エントリの書き込み先となるディレクトリを指定します。

既定値は %SystemDrive%\inetpub\logs\LogFiles です。
enabled 省略可能な Boolean 属性です。

中央の W3C ログを有効にするかどうかを指定します。

既定値は true です。
localTimeRollover 省略可能な Boolean 属性です。

新しいログ ファイルがローカル時刻または協定世界時 (UTC) のどちらに基づいて作成されるかを指定します。 true の値は、新しいログ ファイルがローカル時刻に基づくことを意味し、false は UTC に基づくことを意味します。

既定値は false です。
logExtFileFlags 省略可能なフラグ属性。

ログに記録するフィールドを指定します。

logExtFileFlags 属性には、次のいずれかの値またはこれらの値の一覧を指定できます。 既定値は、DateTimeClientIPUserNameSiteNameServerIPMethodUriStemUriQueryHttpStatusTimeTakenWin32StatusServerPortUserAgentHttpSubStatusの値の一覧です。
Value 説明
Date アクティビティが発生した日付。

数値は 1 です。
Time アクティビティが発生した時刻。協定世界時 (UTC) で表示されます。

数値は 2 です。
ClientIP 要求を行ったクライアントの IP アドレス。

数値は 4 です。
UserName サーバーにアクセスした認証済みユーザーの名前。 匿名ユーザーはハイフンで示されます。

数値は 8 です。
SiteName ログ ファイルのエントリが生成されたサーバーの名前。

数値は 16 です。
ComputerName 要求の作成元のコンピューターの名前。

数値は 32 です。
ServerIP ログ ファイルのエントリが生成されたサーバーの IP アドレス。

数値は 64 です。
Method 要求されたアクション (GET メソッドなど)。

数値は 128 です。
UriStem アクションのターゲット (Default.htm など)。

数値は 256 です。
UriQuery 存在する場合、クライアントが試行していたクエリ。 ユニバーサル リソース識別子 (URI) クエリは、動的ページにのみ必要です。

数値は 512 です。
HttpStatus HTTP 状態コード。

数値は 1024 です。
Win32Status Windows 状態コード。

数値は 2048 です。
BytesSent サーバーが送信したバイト数。

数値は 4096 です。
BytesRecv サーバーが受信したバイト数。

数値は 8192 です。
TimeTaken アクションにかかったミリ秒単位の時間。

数値は 16384 です。
ServerPort サービスが構成されているサーバーのポート番号。

数値は 32768 です。
UserAgent クライアントで使用されたブラウザーの種類。

数値は 65536 です。
Cookie 送信または受信した cookie の内容 (cookie が送信または受信された場合)。

数値は 131072 です。
Referer ユーザーが最後にアクセスしたサイト。 このサイトにより、現在のサイトへのリンクが用意されました。

数値は 262144 です。
ProtocolVersion クライアントが使用したプロトコルのバージョン。

数値は 524288 です。
Host ホスト ヘッダー名 (ホスト ヘッダーが存在する場合)。

数値は 1048576 です。
HttpSubStatus サブ状態エラー コード。

数値は 2097152 です。
period 省略可能な列挙型属性。

現在のログ ファイルを閉じて新しいログ ファイルを開始する頻度を指定します。

period 属性には、次のいずれかの値を指定できます。

既定値は、Daily です。
Value 説明
MaxSize truncateSize 属性で指定されたサイズにログ ファイルが達するたびに、新しいログ ファイルを開始します。

数値は 0 です。
Daily 毎日、新しいログ ファイルを開始します。

数値は 1 です。
Weekly 週に 1 回、新しいログ ファイルを開始します。

数値は 2 です。
Monthly 月に 1 回、新しいログ ファイルを開始します。

数値は 3 です。
Hourly 1 時間ごとに、新しいログ ファイルを開始します。

数値は 4 です。
truncateSize 省略可能な int64 属性。

ログ ファイルの内容を切り捨てるサイズをバイト単位で指定します。 この属性は、period 属性の値が maxSize の場合に設定する必要があります。 サイズは、1048576 (1 メガバイト) から 4294967295 (4 ギガバイト) の間である必要があります。

既定値は 20971520 (20 メガバイト) です。

子要素

なし。

構成サンプル

次の構成サンプルは、IIS が中央の W3C ログを使用し、W3C ログ ファイル ロールオーバーを毎日に構成することを指定します。

<log centralLogFileMode="CentralW3C">
   <centralBinaryLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" />
   <centralW3CLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" period="Daily" />
</log>

サンプル コード

次のコード サンプルは、IIS が中央の W3C ログを使用し、W3C ログ ファイル ロールオーバーを毎日に構成することを指定します。

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/log /centralLogFileMode:"CentralW3C" /commit:apphost

appcmd.exe set config -section:system.applicationHost/log /centralW3CLogFile.period:"Daily" /commit:apphost

Note

AppCmd.exe を使用してこれらの設定を構成するときは、commit パラメーターを必ず apphost に設定する必要があります。 これで、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 logSection = config.GetSection("system.applicationHost/log");
         logSection["centralLogFileMode"] = @"CentralW3C";
         ConfigurationElement centralW3CLogFileElement = logSection.GetChildElement("centralW3CLogFile");
         centralW3CLogFileElement["period"] = @"Daily";

         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 logSection As ConfigurationSection = config.GetSection("system.applicationHost/log")
      logSection("centralLogFileMode") = "CentralW3C"
      Dim centralW3CLogFileElement As ConfigurationElement = logSection.GetChildElement("centralW3CLogFile")
      centralW3CLogFileElement("period") = "Daily"

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

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

var logSection = adminManager.GetAdminSection("system.applicationHost/log", "MACHINE/WEBROOT/APPHOST");
logSection.Properties.Item("centralLogFileMode").Value = "CentralW3C";
var centralW3CLogFileElement = logSection.ChildElements.Item("centralW3CLogFile");
centralW3CLogFileElement.Properties.Item("period").Value = "Daily";

adminManager.CommitChanges();

VBScript

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

Set logSection = adminManager.GetAdminSection("system.applicationHost/log", "MACHINE/WEBROOT/APPHOST")
logSection.Properties.Item("centralLogFileMode").Value = "CentralW3C"
Set centralW3CLogFileElement = logSection.ChildElements.Item("centralW3CLogFile")
centralW3CLogFileElement.Properties.Item("period").Value = "Daily"

adminManager.CommitChanges()