MySQL、オープンソース系、ウェブ系ネタ。commentTweetAmon2のロギングにLog::Handlerを使うAmon2でログを取るにはLog::Minimalが推奨されている。documentationLog::Minimalが推奨されているけどファイルに書き出すのにコード書く必要があるっぽいので別のモジュールを探す。PerlにLog::Minimalの他にはLog::DispatchとLog::Log4perlが掲載されている。ベンチマークのエントリーではCPAN本おすすめのLog::Handlerが良さそうだったので、試しに実装してみる。他、DBIと絡めたり、メール送ったり、SOCKETで別サーバに送ったりも出来る。Examplesを読むと色々参考になる。仕様$ENV{‘PLACK_ENV’}がdevelopmentかproductionかで切り分けて、開発時にはscreen(ターミナルへ出力)とdebugログ(ファイル)にも出力させるようにしておく。$cにmethod生やしておいて、$c->log->info()で呼べる。debugだけは$c->debug()でも呼べるようにエイリアス化しておく。ログファイルはとりあえずdebug.log、common.log、error.logとし、Myapp/var/log以下に保存する。ロギングの設定は各モードで共有としておく。hirobanex.netを参考にauthorのおすすめ方式で。warnまたはdieの時にはsignalを受け取ってログを吐くようにしておく。flavorのAmon2アプリのリリース管理にMinillaを使ってみようとしらうまくいかなかったので試行錯誤してみた。書いたコードをモジュール化してみる。[...]Mojoliciousでactionの前後に実行される独自のHookを作る。PerlのWebApplicationFrameworkであるMojoliciousでは様々なフックが用意されているのだけれど、actionの前後だけに実行したい場合は独自にフックポイントを追加しないといけない。単純な実装方法はaround_actionフックを使うのが良さそう。scraperコマンド使えない...。DBIx::Class(DBIC)に入門。使い始めてDBICの作法に翻弄されてる。timestamp的なカラム、例えばupdated_atカラムを自動更新させるのにハマったのでメモ。書いたコードをモジュール化してみる。[...]コメントする返信をキャンセルする。DBIx::Class(DBIC)でtimestamp的なカラムの自動更新Mojoliciousでactionの前後に実行される独自のHookを作る。