TiarraのLog::Channelの保存先ディレクトリをサーバ別にする
Perlなんて読んだことも書いた事もねーよバーカバーカ!
最近ようやくTiarraを使い始めたことにより、僕のIRCライフはハッピーそのものになった訳ですが、自動的にログを取ってくれるLog::Channelの設定項目にいささか不満が。
その不満とは、ログを保存するディレクトリ名が#チャンネル名@サーバ名固定で、それを分割することができないということ。
理想としては
channel: #(server)/#(chname) *
(実際に#(server)と#(chname)はない)
として、
--Log |--IRCNET | |--#hogehoge | --#foobar --Friend |--#spam |--#ham |--#egg --#bean
のようにしたいのに、
実際は
--Log |--#hogehoge@IRCNET |--#foobar@IRCNET |--#spam@Friend |--#ham@Friend |--#egg@Friend --#bean@Friend
のようにしかならないんですね。
いや、確かに設定ファイルをチャンネルごとに記述したり、channel: IRCNET/#(channel) *@IRCNET のように記述すればいいっちゃいいんですが、前者はめんどくさいし後者はディレクトリ名にゴミが残るのがなんとも気に入らない。
ということで#(server)と#(chname)が使えるように書き換えてみよう。
tiarra/module/Log/Channel.pm 196行目から
my @d_name = split(/@/, $chan_filename); my $chan_dir = Tools::HashTools::replace_recursive( $ch->[0], [{channel => $chan_filename, lc_channel => lc $chan_filename, chname => $d_name[0], server => $d_name[1]}]);
ワーイ簡単だった
あれ、でもこれ設定ファイルのchannel-network-separatorをデフォから変更してる人はダメじゃね?
Perlよくわからないので有志の人がんばって!
(´・_c・) (・c_・`)
〜 おわり 〜