tiarraのログをmysqlに入れるLog::DBIをいれた。
最近鯖いじりがが楽しくなってきたのでLog::DBIを入れてみた。
tiarra のログを mysql に突っ込む Log::DBI を作った - woremacxの日記
使い方がまったくわからなかったので手探りで入れました。
正しい使い方じゃないかもしれないけど、まあ使えるレベルで動いていたのでその認識で。
上のURLからソースをコピペしてtiarra/module/Log配下にDBI.pmを作成。
このままではうまく動かなかったのでソースを修正。
68 #for (qw/source user pass/) { 69 # $param->{$_} = $self->config->get($_); 70 #} 71 $param->{source} = $self->config->source; 72 $param->{user} = $self->config->user; 73 $param->{pass} = $self->config->pass;
具体的には69行目?ぐらいの
$self->config->DBI->get($_); ↓ $self->config->get($_);
というように変えれば動く。
DBI->get($_)の部分がうまく動いてなくてtiarra.confから設定情報取れてなかったっぽいんだけど、DBIとか書かなくても取得できたのでOK。
あと、$_とかいうPerlの特殊変数はあとあと見たときなんでこうなってるかわからなくなるので、取得するパラメーター名前をべた書き。というか他のモジュールがそう書いてたのでそうした。
次はtiarra.confへ
+ Log::DBI{ source: DBI:mysql:Database_name:127.0.0.1:3306 user: user_name pass: password sync: sync }
syncはいらないかも。
sourceの記述はPerlのDBIの使い方を参考にした。
http://www.rfs.jp/sb/perl/dbi/02.html
データソース:データベース名:接続ホストIPアドレス:ポート番号 という順番で記述すればいいらしい。
モジュールの設定ができたところで適当にデータベースを作成して、上のサイトにあるSQLをコピペしてテーブルを作りましょう。
これでtiarraを起動したときにLog::DBI loaded.というログが出てればとりあえず動くと思う。
なんかログが吐き出されるときにInsertするみたいだけど、これってUpdateされることがないからupdated_onとかいうカラムいらないんじゃないかと思っている。