ApacheLog

予備知識

    • Apacheのログファイル.
    • Apache Webサーバのネイティブログファイル形式.
    • 一般的な変種はApache Common LogとApache Access Logである.WolframシステムのライセンスマネージャMathLMでも使用されている.
    • テキスト形式.
    • Webサーバのトランザクション情報を保存する.
    • それぞれのレコードは一行テキストで表される.
    • ユーザがカスタマイズしたレコード書式が使える.

Import

  • Import["file","ApacheLog"]はApacheログファイルをインポートする.
  • Import["file","ApacheLog"]はApacheログファイルを読み込み,内容を表で返す.
  • Import["file",{"ApacheLog",elem}]はApacheログファイルから指定の要素をインポートする.
  • Import["file",{"ApacheLog",{elem1,elem2,}}]は複数の要素をインポートする.
  • 形式"ApacheLog"はApacheログファイルのインポートの際は必ず指定しなくてはならない.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Importファイルからインポートする
    CloudImportクラウドオブジェクトからインポートする
    ImportString文字列からファイルからインポートする
    ImportByteArrayバイト配列からインポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Data"リストのリストとして表されたファイルの内容
  • Importはデフォルトで"Data"要素をApacheログファイルに使う.
  • 個々のデータフィールドを選択する:
  • "Attachments"メッセージに添付されたファイル
    "ByteCount"クライアントに返されるオブジェクトのバイトサイズ
    "Date"文字列で与えられるトランザクションの日付と時間
    "Referrer"クライアントの報告が参照されているサイト
    "RemoteHost"クライアントのIPアドレスまたはホスト名
    "RemoteUser"HTTP認証で決定されたクライアントのユーザID
    "RequestLine"クライアントの文字列の要求で,通常要求されたオブジェクトのパスとプロトコル情報が含まれる
    "SessionID"ユーザセッションを区別する文字列
    "StatusCode"HTTP仕様 (RFC2616)で定義されている,サーバがクライアントに返したステータスコード
    "UserAgent"クライアントから報告されたブラウザ識別

オプション

  • Importオプション:
  • "DataFormat"Automaticデータを表現する要素と1レコードを表現する要素間のセパレータのリストで与えられた書式指定
  • カスタマイズされたログ形式をインポートするには,"DataFormat"を使ってデータ要素とレコードセパレータの組み合せとしてそれぞれのレコード書式を指定する.
  • Common LogファイルのImportには設定 "DataFormat"->{"RemoteHost"," ","ClientID"," ","RemoteUser"," " ,"Date"," \"","RequestLine","\" ","StatusCode"," " ,"ByteCount"}. を使う.
  • Access Logファイルのデフォルトの書式は {"RemoteHost"," ","ClientID"," ","RemoteUser"," " ,"Date"," \"","RequestLine","\" ","StatusCode"," " ,"ByteCount", " \"","Referrer","\" \"","UserAgent","\""} で与えられる.

例題

  (1)

ログファイル全体をレコードのリストとしてインポートする:

このファイルで利用可能なImport要素を示す:

日付フィールドのみ読み込む:

全サーバリクエストを読み込む: