access.log

概要

x-Servletを通してHPにアクセスをした端末の情報を出力します。

形式

access.logのフォーマットについて下表に示します。

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18)
127.0.0.1 [ 22/Mar/2011 09:45:16 JST ] "/index.html" "http://127.0.0.1:81/index.html" 200 1167 - F-02A [ CHTML 7.2 ] 52 48 new vPbzKOsJMbOSuNyI8K8UU6

(1):x-Servletにリクエストを送信したクライアントのIPアドレス
(2):"["固定
(3):x-Servletがクライアントにレスポンスを返却した日時
(4):"]"固定
(5):x-Servletがクライアントから受信したリクエストURI
(6):x-Servletが元コンテンツサーバに送信したリクエストURI
(7):x-Servletがクライアントに返却したステータスコード
(8):x-Servletがクライアントに返却したレスポンスボディ長
(9):"-"固定
(10):端末名 (useragent.xml の <Terminal><Name> が入ります。不明端末の場合は "UKName" となります)
(11):"["固定
(12):ML名 (useragent.xml の <MarkupLanguage><Name> が入ります。
   iモードブラウザ2.0対応端末は"IMB"となります [Version2.10.0以降])
(13):MLバージョン (useragent.xml の <MarkupLanguage><Version> が入ります [Version2.4.0以降]。
   iモードブラウザ2.0対応端末は<MarkupLanguage><ExpandVersion> が入ります [Version2.10.0以降])
(14):"]"固定
(15):x-Servletがリクエストを受けてから携帯端末にレスポンスを返すまでに掛かった時間(単位:ms) [Version2.9.0以降]
(16):Webサーバに対してリクエストを投げてからWebサーバからレスポンスが返ってくるまでの時間(単位:ms) [Version2.9.0以降]
(17):携帯向けに出力されている外部セッションID [Version2.9.0以降]
(18):x-Servlet内部で管理している内部セッションID [Version2.9.0以降]

  • (1)~(2)、(4)~(5)、(5)~(6)、(6)~(7)、(7)~(8)、(8)~(9)、(9)~(10)、(12)~(13)、(14)~(15)、(15)~(16)、(16)~(17)、(17)~(18)の間には半角空白(SP)が含まれます。
  • xproxy.properties の exceptionIpAddresses に指定されたアドレスからのアクセスはロギングされません。
  • (5)のリクエストURLに付加されている"_xpxi="の値は端末上では外部セッションIDですがログに記録される際に内部セッションIDに置き換えて記録されます。
  • (5)のリクエストURLに"?_xpxi=null..."というセッションIDが付くことがあります。これはx-Servletがリダイレクトレスポンスを返し、コンテンツ変換を行わなかった場合で正常な動作です。
  • log.accessLog.withSubNoを"true"とすると(10)の端末名に個体識別情報が付加されます。

    127.0.0.1 [13/Oct/2010 09:45:16 JST] "/index.html" "http://127.0.0.1:81/index.html" 200 1167 - W62S(K_nnnnnnnnnn_md.ezweb.ne.jp)[XHTMLBASIC 1.0]

  • (12)に記載されるML名と携帯端末の対応は「ML名について」を参照ください。
  • (12)が"IXHTML"の場合は(13)のバージョンはXHTMLのバージョンとなります。
  • Version2.3.1以前は(13)(15)~(18)が付与されませんので、下記のような形式になります。

    127.0.0.1 [13/Oct/2010 09:45:16 JST] "/index.html" "http://127.0.0.1:81/index.html" 200 1167 - F-02A[CHTML]

  • (15)から(16)を引いた値が x-Servlet が変換処理にかかった時間となります。
  • (16)の値は x-Servlet内部でエラーが発生した場合、「0(304)」となります。
  • (17)(18)の値の種類は以下の通りとなります。
    • 「new」:新規セッションでまだIDが割り当てられていない状態
    • 「invalid」:管理しているものと異なるセッションIDが渡された状態
    • 「 (空白)」:x-Servlet内部でエラーが発生した場合((17)のみ)
    • 「null」:x-Servlet内部でエラーが発生した場合((18)のみ)
    • それ以外の値:セッションID

設定

  • 特定IPに対するログをaccess.logに出力したくない場合は、xproxy.propertiesのexceptionIpAddressesを設定して下さい。
  • 特定のURLパラメータに対するログをaccess.logに出力したくない場合は、xproxy.propertiesのsuppressLogParameterNを設定して下さい。
  • 個体識別情報文字列(X-Xp-Uid)を出力したい場合は、xproxy.propertiesのlog.accessLog.withSubNoを設定して下さい。
  • (15)(16)を出力したい場合は xproxy.properties のloggingWebResponseTimeを設定して下さい。
  • (17)(18)を出力したい場合は xproxy.properties のlog.accessLog.loggingSessionIDを設定して下さい。

エラーメッセージ

エラーが発生した場合、下記のエラーが出力されます。

  • null null 500(null) 0 – null
    クライアント⇔x-Servlet間でのTCPコネクションは確立したが、HTTPリクエストが送られてこない状態でTCPコネクションが切断されると出力されます。 よくある例としてはTCPレベルでの死活監視を行っている場合があげられます。
TOP