>  > 17インチ サマータイヤ セット【適応車種:マークX(130系 2.5L)】WEDS ウェッズスポーツ SA-77R ブルーライトクローム2 7.5Jx17LEMANS V LM5 215/55R17
App::YG - ログをう゛ぁーてぃかるぱみゅぱみゅしちゃう!! - 2012 advent calendar hacker

ブルーライトクローム2 215/55R17 17インチ 7.5Jx17LEMANS ウェッズスポーツ サマータイヤ SA-77R 215/55R17 V ウェッズスポーツ セット【適応車種:マークX(130系 2.5L)】WEDS LM5

  • Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな?

17インチ サマータイヤ セット【適応車種:マークX(130系 2.5L)】WEDS ウェッズスポーツ V(ファイブ) SA-77R ブルーライトクローム2 7.5Jx17LEMANS V LM5 215/55R17 MKW

Other Sites

17インチ サマータイヤ セット【適応車種:マークX(130系 2.5L)】WEDS ウェッズスポーツ SA-77R ブルーライトクローム2 7.5Jx17LEMANS V LM5 215/55R17


bayashi


やあハッキングモンスターのみんな、元気かーい? ぼくは普通です。

きょうはみんなでログをう゛ぁーてぃかるぱみゅぱみゅしちゃうぞ!あ、こんにちは bayashi です。

さて、ログは見てるかい?cat してるかい? tail してるかい? GB単位のログを vim で開いてフリーズさせてやいないかい?ログは吐いたら終わりじゃいけないぜ!ちゃんとうぉっちしないと鬼がでちゃうぞ!!

とはいえ、そんなログも、たいていは1行につらつらと書かれてて見るのがつらいね!!例えばこんなやつだ。

$ tail log
127.0.0.1 - bayashi [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
127.0.0.1 - bayashi [10/Oct/2000:13:55:38 -0700] "GET / HTTP/1.0" 200 6789 "http://www.example.com/docs/2.2/logs.html" "Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0"
127.0.0.1 - bayashi [10/Oct/2000:13:55:39 -0700] "GET /apache_pc.gif HTTP/1.0" 200 1234 "http://www.example.com/start.html" "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5"

こういうのを何千行も見て無意識に脳内パーズして目grepしてたら、頭がおかしくなってゾンビになりかけるだろ?

だからぼくは、yg っていうコマンドを使ってこうしてみるんだ!!

$ yg log
******************** 1 ********************
 Host: 127.0.0.1
 Ident: -
 Authuser: bayashi
 Date: 10/Oct/2000:13:55:36 -0700
 Request: GET /apache_pb.gif HTTP/1.0
 Status: 200
 Bytes: 2326
 Referer: http://www.example.com/start.html
UserAgent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
******************** 2 ********************
 Host: 127.0.0.1
 Ident: -
 Authuser: bayashi
 Date: 10/Oct/2000:13:55:38 -0700
 Request: GET / HTTP/1.0
 Status: 200
 Bytes: 6789
 Referer: http://www.example.com/docs/2.2/logs.html
UserAgent: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
******************** 3 ********************
 Host: 127.0.0.1
 Ident: -
 Authuser: bayashi
 Date: 10/Oct/2000:13:55:39 -0700
 Request: GET /apache_pc.gif HTTP/1.0
 Status: 200
 Bytes: 1234
 Referer: http://www.example.com/start.html
UserAgent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5

どうだい?わいるどだろぉ?!

App::YG

yg コマンドは App::YG っていうモジュールをインストールしたらくっついてくるぞ!!

$ sudo cpan App::YG

これでいつでも yg を使ってログをう゛ぁーてぃかるぱみゅぱみゅできちゃうぞ!簡単すぎますね!!

でも実は、ラベルを付けて縦表示というのはどんなログでもできるというわけじゃあないぞ!!できると思った?!できません!!テヘペロ!残念でした!!

いまのところ、

、apache / apache combined / apache error / nginx main がう゛ぁーてぃかるぱみゅぱみゅできるぞ!もし他のログ形式に対応したい場合は App::YG::Foo::Bar のようなものを書いて ACRE ブレーキパッド ■アクレ フォーミュラ700C フロント 【品番:387】 スズキ アルト アルトワークス HA12S (ie TURBO除く)/ HA22S (RS-Z TURBO除く) / HA12V 98.10~00.12 RSタイチ コーデュラ ストレッチパンツ カーキ 34/MEN'S 【RSY252】、

$ yg -p foo-bar hoge.log

という風に、パーザに指定すればOK!!

結構面倒だね!こんなんじゃ使いたくないよ!!ってボクも思っちゃいました!!あちゃー><

さくっと縦分割

でもやっぱり諦めたくない!諦めたらそこでPONPONPONですよ!!

というわけで、ログなんてだいたいタブ区切りとかですよね!!だからもうそういうのは適当にさくっとやっちゃえばいいんですよ!!

d オプションでぱみゅれます。

$ yg -d -n fuga.log
******************** 1 ********************
1: 2012-11-27 14:34:08
2: [warn]
3: MyDoc/wiki/perl/robots could not find MyDoc/wiki/perl/robots at dev/MyApp/lib/MyApp/C/MyApp/Wiki.pm line 31.\n
4: METHOD:'GET'
5: REQ:'/wiki/perl/robots.txt'
6: IP:'***.***.***.***'
7: UA:'libwww-perl/6.04'
8: REF:''
9: (MyApp::F::Entry L15)
******************** 2 ********************
1: 2012-11-27 14:34:08
2: [warn]
3: Wiki Not Found
4: METHOD:'GET'
5: REQ:'/wiki/perl/robots.txt'
6: IP:'***.***.***.***'
7: UA:'libwww-perl/6.04'
8: REF:''
9: (MyApp::C::MyApp::Wiki L33)
******************** 3 ********************
1: 2012-11-27 14:34:08
2: [warn]
3: MyDoc/wiki/robots could not find MyDoc/wiki/robots at dev/MyApp/lib/MyApp/C/MyApp/Wiki.pm line 31.\n
4: METHOD:'GET'
5: REQ:'/wiki/robots.txt'
6: IP:'***.***.***.***'
7: UA:'libwww-perl/6.04'
8: REF:''
9: (MyApp::F::Entry L15)

やったね W203 (SEDAN) C180 Kompressor 203046 02/10~07/06 フロント用 Pプレミアムタイプ 価格と性能を両立 P-1111696 ディクセル、たえちゃん!!(-n はラベルの代わりに項目番号を出すオプションです。)

ちなみに、yg は標準入力を受けてう゛ぁーてぃかるぱみゅぱみゅることもできるぞ!!

$ cat page.log | yg

まとめ

まあぶっちゃけ、ログなんてどうせ grep して絞り込んで目的のもの以外みてねーよという人が多いかもしれませんが、だらだら流してみてる場合なんかにはこういうのが有効かもしれないぞ!!

詳しいオプションは yg -h か man yg で参照するとお得!! あなたの予想に反して、無駄に多くのオプションが用意されていてびっくり仰天することうけあいだ!!

というわけで 【エントリーでポイント15倍! 3/21 20:00-3/26 1:59】 期間限定送料無料! スタッドレスタイヤ ホイール 新品 4本セット 205/55R16 16インチ (205-55-16) TOYO トーヨー ウィンタートランパスTX テッドトリック バランス調整済み! パーツ WORK EMOTION CR極 17×8.0J PCD114/5 +47 セミテーパー カラー:マットブラック(MBL) [ワークエモーション シーアールキワミ] 注)ホイール9枚です 、

17インチ サマータイヤ セット【適応車種:マークX(130系 2.5L)】WEDS ウェッズスポーツ SA-77R ブルーライトクローム2 7.5Jx17LEMANS V LM5 215/55R17

、このモジュールが少しでもみなさまのお役に立てれば幸いだぞ! bayashi でした!!



{yahoojp}jpprem01-zenjp40-wl-zd-89878