バイナリ集中ログ ファイル <centralBinaryLogFile>

  • 概要
  • 互換性
  • セットアップ
  • 方法
  • 構成
  • サンプル コード

※本ページに挿入されている画像をクリックすると、画像全体が別ウィンドウで表示されます。

概要

<centralBinaryLogFile> 要素は、サーバー上のすべてのサイトのバイナリ集中ログ設定を指定します。

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

:W3C 形式のログ ファイルは、ほとんどのログ解析ユーティリティで処理できるテキストベース ファイルです。バイナリ ログ ファイルは独自の保存形式を使用しており、Microsoft の LogParser(英語) ユーティリティなど、その形式のログ ファイルを処理できるアプリケーションが必要です。

互換性

  IIS 7.0 IIS 6.0
注意 <log><centralBinaryLogFile> は IIS 7.0 で新たに導入された要素です。 <log> 要素は、IIS 6.0 の CentralBinaryLoggingEnabled フラグに代わるものです。

セットアップ

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

方法

サーバーでバイナリ集中ログを有効にする方法

  1. タスク バーで [スタート] をクリックし、[管理ツール] をポイントして [インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。

  2. [接続] ウィンドウでサーバーの名前をクリックします。

  3. サーバーの [ホーム] ウィンドウで [ログ記録] をダブルクリックします。

    拡大

  4. [ログ記録] ページの [ログ ファイル作成単位] で、ドロップダウン リストから [サーバー] を選択し、[形式] ドロップダウン リストから [Binary] を選択します。

    拡大

  5. [操作] ウィンドウで [適用] をクリックします。

構成

属性

属性 説明
directory オプションの string 属性。

ログ エントリを書き込むディレクトリを指定します。
enabled オプションの Boolean 属性。

バイナリ集中ログを有効にするかどうかを指定します。さらに、バイナリ集中ログを完全に有効にするには、centralLogFileMode を CentralBinary に設定する必要があります。
既定値は false です。
localTimeRollover オプションの Boolean 属性。

新規ログ ファイルをローカル時刻または世界協定時刻 (UTC) のどちらに基づいて作成するかを指定します。値が true の場合はローカル時刻に基づいて、false の場合は UTC に基づいて新規ログ ファイルを作成します。
既定値は false です。
period オプションの enum 属性。

ログ ファイルのコンテンツを消去すべき頻度を指定します。

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

既定値は Daily です。

--------------------------------------------------------

値: MaxSize

説明:

  • ログ ファイルは truncateSize 属性で指定されたサイズに達すると消去されます。
  • 数値は 0 です。

値: Daily

説明:

  • ログ ファイルは毎日消去されます。
  • 数値は 1 です。

値: Weekly

説明:

  • ログ ファイルは週 1 回消去されます。
  • 数値は 2 です。

値: Monthly

説明:

  • ログ ファイルは月 1 回消去されます。
  • 数値は 3 です。

値: Hourly

説明:

  • ログ ファイルは 1 時間ごとに消去されます。
  • 数値は 4 です。
truncateSize オプションの int64 属性。

ログ ファイルのコンテンツを切り捨てるサイズを指定します。period 属性の値が maxSize の場合、この属性を設定する必要があります。サイズは 1048576 (1 MB) から 4294967295 (4 GB) の間で指定します。

既定値は 20971520 (20 MB) です。

子要素

なし。

構成サンプル

次の構成サンプルでは、IIS で集中バイナリ ログを使用するように指定し、バイナリ ログ ファイルのローテーションを日次で構成しています。

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

   <centralW3CLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" />
</log>

サンプル コード

次のコード サンプルでは、IIS で集中バイナリ ログを使用するように指定し、バイナリ ログ ファイルのローテーションを日次で構成しています。

AppCmd.exe

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

appcmd.exe set config -section:system.applicationHost/log /centralBinaryLogFile.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"] = @"CentralBinary";
         ConfigurationElement centralBinaryLogFileElement = logSection.GetChildElement("centralBinaryLogFile");
         centralBinaryLogFileElement["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") = "CentralBinary"
      Dim centralBinaryLogFileElement As ConfigurationElement = logSection.GetChildElement("centralBinaryLogFile")
      centralBinaryLogFileElement("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 = "CentralBinary";
var centralBinaryLogFileElement = logSection.ChildElements.Item("centralBinaryLogFile");
centralBinaryLogFileElement.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 = "CentralBinary"
Set centralBinaryLogFileElement = logSection.ChildElements.Item("centralBinaryLogFile")
centralBinaryLogFileElement.Properties.Item("period").Value = "Daily"

adminManager.CommitChanges()