W3C 集中ログ ファイル <centralW3CLogFile>
- 概要
- 互換性
- セットアップ
- 方法
- 構成
- サンプル コード
※本ページに挿入されている画像をクリックすると、画像全体が別ウィンドウで表示されます。
概要
<centralW3CLogFile>
要素は、サーバー上のすべてのサイトのW3C 集中ログ設定を指定します。
注 :<centralW3CLogFile>
要素の属性を有効にするには、親 <log>
要素の centralLogFileMode 属性を CentralW3C に設定する必要があります。<log>
要素の centralLogFileMode 属性が CentralBinary または Site に設定されている場合、<centralW3CLogFile>
要素の属性は無視されます。
注 :W3C 形式のログ ファイルは、ほとんどのログ解析ユーティリティで処理できるテキストベース ファイルです。バイナリ ログ ファイルは独自の保存形式を使用しており、Microsoft の LogParser(英語) ユーティリティなど、その形式のログ ファイルを処理できるアプリケーションが必要です。
互換性
IIS 7.0 | IIS 6.0 | |
---|---|---|
注意 | <log> の <centralW3CLogFile> は IIS 7.0 で新たに導入された要素です。 |
<log> 要素は、IIS 6.0 の CentralW3CLoggingEnabled フラグに代わるものです。 |
セットアップ
<log>
要素の <centralW3CLogFile>
要素は、IIS 7.0 の既定のインストールに含まれています。
方法
サーバーで W3C 集中ログを有効にする方法
タスク バーで [スタート] をクリックし、[管理ツール] をポイントして [インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
[接続] ウィンドウでサーバーの名前をクリックします。
サーバーの [ホーム] ウィンドウで [ログ記録] をダブルクリックします。
[ログ記録] ページの [ログ ファイル作成単位] で、ドロップダウン リストから [サーバー] を選択し、[形式] ドロップダウン リストから [W3C] を選択します。
[操作] ウィンドウで [適用] をクリックします。
構成
属性
属性 | 説明 |
---|---|
directory |
オプションの string 属性。 ログ エントリを書き込むディレクトリを指定します。 既定値は %SystemDrive%\inetpub\logs\LogFiles です。 |
enabled |
オプションの Boolean 属性。 W3C 集中ログを有効にするかどうかを指定します。 既定値は true です。 |
localTimeRollover |
オプションの Boolean 属性。 新規ログ ファイルをローカル時刻または世界協定時刻 (UTC) のどちらに基づいて作成するかを指定します。値が true の場合はローカル時刻に基づいて、false の場合は UTC に基づいて新規ログ ファイルを作成します。 既定値は false です。 |
logExtFileFlags |
オプションの flags 属性。 ログするフィールドを指定します。 logExtFileFlags 属性には、次のいずれかの値またはこれらの値の一覧を指定できます。既定値は次の値の一覧です。 Date 、Time 、ClientIP 、UserName 、SiteName 、ServerIP 、Method 、UriStem 、UriQuery 、HttpStatus 、TimeTaken , Win32Status 、ServerPort 、UserAgent 、HttpSubStatus 。-------------------------------------------------------- 値: Date 説明:
値: Time 説明:
値: ClientIP 説明:
値: UserName 説明:
値: SiteName 説明:
値: ComputerName 説明:
値: ServerIP 説明:
値: Method 説明:
値: UriStem 説明:
値: UriQuery 説明:
値: HttpStatus 説明:
値: Win32Status 説明:
値: BytesSent 説明:
値: BytesRecv 説明:
値: TimeTaken 説明:
値: ServerPort 説明:
値: UserAgent 説明:
値: Cookie 説明:
値: Referer 説明:
値: ProtocolVersion 説明:
値: Host 説明:
値: HttpSubStatus 説明:
|
period |
オプションの enum 属性。 現在のログ ファイルを閉じて、新規ログ ファイルを開始する頻度を指定します。 period 属性には、次のいずれかの値を指定できます。 既定値は Daily です。-------------------------------------------------------------------------------------------------- 値: MaxSize 説明:
値: Daily 説明:
値: Weekly 説明:
値: Monthly 説明:
値: Hourly 説明:
|
truncateSize |
オプションの int64 属性。 ログ ファイルのコンテンツを切り捨てるサイズ (バイト) を指定します。period 属性の値が maxSize の場合、この属性を設定する必要があります。サイズは 1048576 (1 MB) から 4294967295 (4 GB) の間で指定します。 既定値は 20971520 (20 MB) です。 |
子要素
なし。
構成サンプル
次の構成サンプルでは、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
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()