2008年3月12日

aptanaのログの文字化け対策

aptana(rad rails,eclipse plugin等)でrails開発をしている方。
コンソールビューに出力されるログが文字化けして、お困りではないでしょうか。
(win環境)

これまでは、ログファイルをtail、ソースをsjisで書くなどあまりスマートではない方法で
なんとか誤魔化してきましたが、ついにloggerをいじってやりました。

適用(注:rails2.0のみです。。。)
ソースをRAILS_ROOT/libに配置
RAILS_ROOT/config/environments/development.rbに以下追記

RAILS_DEFAULT_LOGGER = CharsetableLogger.new(config.log_path, CharsetableLogger.const_get(config.log_level.to_s.upcase), 's')

解説
rails2.0のデフォルトlogger ActiveSupport::BufferedLoggerを継承
:charsetアトリビュート追加
initializeの引数にcharset追加
ログ出力時に:charsetに従って、出力を変更
RAILS_DEFAULT_LOGGERにロガーを指定
RAILS_DEFAULT_LOGGERについてはRails::Initializer.initialize_logger()あたりを参照

2008年2月27日

muninのサマリ表示

muninは簡単、きれいなサーバツールですが、
グラフを一括でみれないのが嫌。

で、つくりました。
munin-summary
ruby+jsです。
同梱は3ファイル

summary.cgi(rubycgi)
summary.erb(rubyテンプレート)
munin.js(グラフ表示)

プラス必須ライブラリはjquery.js

muninが/var/www/muninで稼動中とした場合
同梱3ファイルは
/var/www/munin/cgi/summary.cgi
/var/www/munin/cgi/summary.erb
/var/www/munin/munin.js

と配置してください。
summary.erb中のjquery.jsのパスを環境に合わせればOKかな?

slonyでエラーでまくった人。。。

うちの会社のDBエンコーディングはEUC_JP
で、postgresql.confのclient_encodingはSJIS
そのせいでslonyがsjisの例の文字コードをエスケープ文字と誤解して
エラーはきまくり。。。

こんな特殊な環境の人はいないだろうけど、
一応回避策を。

答え:slonyの実行ユーザの環境変数に

PGCLIENTENCODING=EUC_JP
export PGCLIENTENCODING

すればOK

ちなみに、ここにも書いてますが。