次の方法で共有


IIS ログには、予想されるログ フィールド値ではなく、 <...> が含まれています

この記事は、インターネット インフォメーション サービス (IIS) ログに、予想されるログ フィールド値ではなく...が含まれている問題を解決するのに役立ちます。

元の製品バージョン: インターネット インフォメーション サービス 8.0
元の KB 番号: 2809913

現象

W3C ログ形式を使用してサイト トラフィックをログに記録するように IIS ログが構成されているとします。 IIS ログを調べると、1 つ以上のログ フィールド値に、予想される値ではなく 3 つのドット (...) が含まれていることに気付きます。 たとえば、次のような IIS ログ エントリが表示される場合があります。

#Software: Microsoft インターネット インフォメーション サービス 7.5
#Version: 1.0
#Date: <DateTime>
#Fields: 日時 cs-method cs-uri-stem s-port cs-username cs(Cookie) sc-status sc-substatus
<DateTime> GET /time.asp 80 - ...200 0

上記の例では、実際の Cookie 値ではなく cs(Cookie) 値が ... されています。

原因

この動作は仕様です。 各 IIS ログ フィールド値の長さは 4096 バイト (4k) に制限されています。 いずれかのフィールド値が 4096 バイトを超える場合、その値は 3 つのドットに置き換えられます。 上記の例では、クライアントの Cookie は 4096 バイトより大きいため、(...) に置き換えられました。

回避策

この問題を回避するには、次のいずれかのオプションを使用します。

  • 4096 バイトのフィールド制限がない独自のカスタム ログ モジュールを記述します。

  • ログに記録される要求ヘッダーまたは応答ヘッダー値のサイズを小さくして、4096 バイト未満であるため、3 つのドットに置き換えないようにします。

詳細