すべてのサイトのログ ファイル <logFile>
- 概要
- 互換性
- セットアップ
- 方法
- 構成
- サンプル コード
※本ページに挿入されている画像をクリックすると、画像全体が別ウィンドウで表示されます。
概要
<siteDefaults>
要素の <logFile>
要素の属性を使用すると、インターネット インフォメーション サービス (IIS) 7.0 上のすべてのサイトの既定のログ設定を構成できます。たとえば、ログの有効化または無効化、IIS ログ ファイルの形式の構成、ログ ファイルに格納する情報のカテゴリの指定、およびログ ファイルが格納されるディレクトリの変更などを行うことができます。また、<logFile>
要素を使用して、ログ ファイルのサイズと時間間隔のいずれかに基づいて IIS で新規ログ ファイルを作成する頻度を制御したり、ログ ファイルの最大サイズ (バイト単位) を制御したりすることができます。
既定では、IIS 7.0 では World Wide Web コンソーシアム (W3C) ログ ファイル形式が使用されます。この設定は、logFormat 属性を IIS、NCSA、または Custom にすることで変更できます。
IIS でログに記録される情報のカテゴリは、logExtFileFlags 属性を編集することにより定義できます。既定値は、Date
、Time
、ClientIP
、UserName
、ServerIP
、Method
、UriStem
、UriQuery
、TimeTaken
、 HttpStatus
、Win32Status
、ServerPort
、UserAgent
、および HttpSubStatus
です。
注 : 特定のサイトに対して <siteDefaults>
セクションと <site>
セクションの両方で <logFile>
要素が構成されている場合は、<site>
セクションの構成がそのサイトに適用されます。
互換性
IIS 7.0 | IIS 6.0 | |
---|---|---|
注意 | <siteDefaults> の <logFile> は IIS 7.0 で新たに導入された要素です。 |
|
セットアップ
<siteDefaults>
要素の <logFile>
要素は、IIS 7.0 の既定のインストールに含まれています。
方法
サーバーのログ設定の編集方法
タスク バーで [スタート] ボタンをクリックし、[管理ツール] をポイントして [インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
[接続] ウィンドウでサーバー名をクリックします。
サーバーの [ホーム] ウィンドウで [ログ記録] をダブルクリックします。
[ログ記録] ウィンドウの [形式] ボックスでログ ファイル形式を選択し、[ディレクトリ] ボックスにログ ファイルを格納するディレクトリへのパスを入力するか、[参照] をクリックしてログ ファイルを格納するディレクトリを選択します。
W3C ログ ファイル形式を使用する場合は、[フィールドの選択] をクリックしてログに記録する情報の種類を選択します。
[W3C ログ記録フィールド] ダイアログ ボックスで、ログに記録するオプションのチェック ボックスをオンにし、記録しないオプションのチェック ボックスをオフにして、[OK] をクリックします。
構成
属性
属性 | 説明 |
---|---|
customLogPluginClsid |
オプションの string 属性。 カスタム モジュールに対して、優先順位に従って COM オブジェクト クラス ID (CLSID) を指定します。 |
directory |
オプションの string 属性。 ログ ファイルおよびログ関連のサポート ファイルが格納されるログ記録ディレクトリを指定します。 既定値は %SystemDrive%\inetpub\logs\LogFiles です。 |
enabled |
オプションの Boolean 属性。サイトのログが有効 (true) か無効 (false) かを指定します。 注 : ASP エラーおよび ODBC エラーは IIS ログ ファイルに記録されません。 既定値は true です。 |
localTimeRollover |
オプションの Boolean 属性。 新規ログ ファイルを、ローカル タイムと世界協定時刻 (UTC) のどちらに基づいて作成するかを指定します (UTC は以前はグリニッジ標準時 (GMT) と呼ばれていました)。false の場合、新規ログ ファイルは UTC に基づいて作成されます。 注 : この設定にかかわらず、W3C 拡張ログの各ログ レコードのタイム スタンプは UTC に基づきます。 既定値は false です。 |
logExtFileFlags |
オプションの flags 属性。 サイトのイベントをログする際、ログ ファイル (W3C 拡張ログ ファイル形式を使用する場合) または ODBC データ ソースのいずれかに書き込まれる情報のカテゴリを指定します。logExtFileFlags 属性には、次の 1 つまたは複数の値を指定できます。複数の値を指定する場合はコンマ (,) で区切ります。 既定値は、" Date , Time , ClientIP , UserName , ServerIP , Method , UriStem , UriQuery , TimeTaken , HttpStatus , Win32Status , ServerPort , UserAgent , HttpSubStatus " です。--------------------------------------------------------------------------------------------------------- 値: BytesRecv 説明:
値: BytesSent 説明:
値: ClientIP 説明:
値: ComputerName 説明:
値: Cookie 説明:
値: Date 説明:
値: Host 説明:
値: HttpStatus 説明:
値: HttpSubStatus 説明:
値: Method 説明:
値: ProtocolVersion 説明:
値: Referer 説明:
値: ServerIP 説明:
値: ServerPort 説明:
値: SiteName 説明:
値: Time 説明:
値: TimeTaken 説明:
値: UriQuery 説明:
値: UriStem 説明:
値: UserAgent 説明:
値: UserName 説明:
値: Win32Status 説明:
|
logFormat |
オプションの enum 属性。 ログ ファイル形式を指定します。logFormat 属性には、次のいずれかの値を指定できます。 既定値は W3C です。--------------------------------------------------------------------------------------------------------- 値: Custom 説明:
値: IIS 説明:
値: NCSA 説明:
値: W3C 説明:
|
period |
オプションの enum 属性。 IIS で新規ログ ファイルを作成する頻度を指定します。period 属性には、次のいずれかの値を指定できます。 既定値は Daily です。--------------------------------------------------------------------------------------------------------- 値: Daily 説明:
値: Hourly 説明:
値: MaxSize 説明:
値: Monthly 説明:
値: Weekly 説明:
|
truncateSize |
オプションの int64 属性。 ログ ファイルの最大サイズをバイト単位で指定します。このサイズに達すると新規ログ ファイルが作成されます。この値は period 属性に対して MaxSize が選択されている場合にのみ適用されます。最小ファイル サイズは 131,072 バイトです。この属性が 131,072 バイトよりも小さい値に設定されている場合は、既定値は暗黙的に 131,072 バイトと見なされます。 既定値は 20971520 です。 |
子要素
なし。
構成サンプル
次の構成サンプルでは、IIS 7.0 の既定のログ オプションを指定します。
<system.applicationHost>
<sites>
<siteDefaults>
<logFile logFormat="W3C"
directory="%SystemDrive%\inetpub\logs\LogFiles"
enabled="true" />
</siteDefaults>
</sites>
</system.applicationHost>
サンプル コード
次のコード サンプルでは、IIS 7.0 の既定のログ オプションを指定します。
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.logFormat:"W3C" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.directory:"%SystemDrive%\inetpub\logs\LogFiles" /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 sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
ConfigurationElement logFileElement = siteDefaultsElement.GetChildElement("logFile");
logFileElement["logFormat"] = @"W3C";
logFileElement["directory"] = @"%SystemDrive%\inetpub\logs\LogFiles";
logFileElement["enabled"] = 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 sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")
Dim logFileElement As ConfigurationElement = siteDefaultsElement.GetChildElement("logFile")
logFileElement("logFormat") = "W3C"
logFileElement("directory") = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement("enabled") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");
var logFileElement = siteDefaultsElement.ChildElements.Item("logFile");
logFileElement.Properties.Item("logFormat").Value = "W3C";
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\LogFiles";
logFileElement.Properties.Item("enabled").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")
Set logFileElement = siteDefaultsElement.ChildElements.Item("logFile")
logFileElement.Properties.Item("logFormat").Value = "W3C"
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement.Properties.Item("enabled").Value = True
adminManager.CommitChanges()