2009-09-03 5 views
0

私はYQLを使用してWebサーバーのログファイルを処理するサンプルコードを探しています。YQL Webサーバーのログファイルの正規表現の例

YQL table for Apache access logs asks "Apacheのアクセスログのテーブルはどうですか?" spullara回答へ:私たちはこのような何かを追加する場合

それはおそらくあなたがApacheのログに適用できる正規表現ベースラインのリーダーとなります。後でPaul Tarjan

は言う:

正規表現テーブル20from%20regex%20where%20expression%、20%の3D%20%22%28

http://developer.yahoo.com/yql/console/?q=select%20%が用意されました。% 29%22%20および%20text%の3D%22test%22 & ENV =のhttp%3A%2F%2Fdatatables.org%2Falltables.env

だから、それは正規表現機能がYQLに追加されました見えます。

this sample log fileを使用してこの正規表現機能を使用した完全なYQLの例を見たいと思います。

69.12.127.10 - - 02/Sep/2009:01:53:52 MDT "GET /holeman/cgi-bin/get_page.cgi?../cxx/sw_stack" HTTP/1.1 200 999 Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.2) Gecko/20090810 Ubuntu/9.10 (karmic) Firefox/3.5.2 

表示だけでIPアドレスおよび参照されたページ上記のサンプル行を次のようになります:

69.12.127.10 /holeman/cgi-bin/get_page.cgi?../cxx/sw_stack 

expressiontextの値であるポール・Tarjanの例ではここでthe sample log fileからのラインがありますハードコードされています。ファイルhttp://sky.prohosting.com/holeman/yql/serverlog/20090902.txttextをどのように参照しますか?また、expressionについては、ハードコーディングされた値ではなく参照を使用する方法はありますか?

+0

正規表現テーブルは、そのクエリのテキストと式のみをサポートしています。したがって、urlパラメータをサポートするまでは、オンラインログファイルの解析には使用できません。 – seth

答えて

1

ここでは、あなたが望むことを行うための非常に原始的な正規表現があります。

$.getJSON('http://query.yahooapis.com/v1/public/yql?q=select%20match1%2Cmatch7%20from%20regex%20where%20expression%20%3D%20%22%5E(%5C%5CS%2B)%20(%5C%5CS%2B)%20(%5C%5CS%2B)%20(%5C%5CS%2B)%20(%5C%5CS%2B)%20%5C%5C%5C%22(%5C%5CS%2B)%20(%5C%5CS%2B)%5C%5C%5C%22%22%20and%20text%3D%2269.12.127.10%20-%20-%2002%2FSep%2F2009%3A01%3A53%3A52%20MDT%20%5C%22GET%20%2Fholeman%2Fcgi-bin%2Fget_page.cgi%5C%5C%3F..%2Fcxx%2Fsw_stack%5C%22%20HTTP%2F1.1%20200%20999%20Mozilla%2F5.0%20(X11%3B%20U%3B%20Linux%20x86_64%3B%20en-US%3B%20rv%3A1.9.1.2)%20Gecko%2F20090810%20Ubuntu%2F9.10%20(karmic)%20Firefox%2F3.5.2%0A%22&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=?', function(data) { 
    console.log(data.query.results.matches.match1); 
    console.log(data.query.results.matches.match7); 
    }); 
+0

私は前にYQLを使っていないので、ログファイルを参照することを含む完全な例を探しています。私は質問を更新しました。 –

+0

あなたのリクエストを実行する運がありますか? Kindaは追従者を吊るす。 ;) – justSteve

関連する問題