こしごぇ(B)

旧:http://d.hatena.ne.jp/koshigoeb/

ActiveSupport::Logger#broadcast は異なるレベルのロガーを束ねるには適さない?

セッターの挙動を見るに、レベルやフォーマッタなどは全て同一のものを使う前提にあるっぽい。 extend 後にセッターを呼ばなければ各ロガーで設定したものを使う事はできるが、 quiet_assetsActiveSupport::Logger#silence などを使った場合はレベルが変更されてしまうので、できないものだと考えて使わないと危険な感じがする。

という事で、 quiet_assets を使っていても追加ロガーのログレベルを変更されない様に、懐かしの TwP/logging を使って Bugsnag.notify を呼ぶ様にしてみたのが、以下のプラグイン

colbygk/log4r じゃないのは、なんとなくでしかない。土地感覚が無いのと、GitHub スター数と、更新日で決めただけ。Ruby Toolbox だと log4r の方が人気だったんだけど。

Rails での利用を想定して書いたので、TwP/logging-rails と組み合わせて以下の様な感じで使う。

TwP/logging-email みたいにッファリングとかの遅延措置はしてないので、応答時間がシビアな場面では使えなそうな点は気になりつつ放置…。