From: "NAKAMURA, Hiroshi" Date: 2003-09-18T15:38:00+09:00 Subject: [ruby-dev:21397] Re: devel/logger なひです。 先ほどlib/logger.rbとして追加しました。 > From: "NAKAMURA, Hiroshi" > Sent: Tuesday, September 16, 2003 7:51 PM > soap4rはdevel/loggerに依存しています。devel/loggerをbundleすることに > すると、/src/ruby/lib/devel/logger.rbを追加することになります > (あとはサンプルをいくつか)。 > > このことについて、以下のような意見があります。 > > * develディレクトリを掘るまでもなかろう。lib/logger.rbでいいんじゃ? > →logger.rb(class Logger)ではちょっと名前が汎用的過ぎやしないか? > log4rが黙ってなさそう。 結局logger.rbとしました。log4rは名前が売れているし、 キャラが立っているので、logger.rbという名前でなくても問題は なかろう、と勝手に判断しました。 > * lib/webrick/log.rbもあるし、ext/syslogもある。なんか統合できないの? > →できるなら。。。 ゆぞさんとIRCで話し合って、webrick/log.rbとすりあわせました。 > ご意見を募集します。 > > 後者については、せめてログレベルくらい揃えたほうがいいのかな、 > と思います。ロガーを作るところはともかく、ロガーを使ってログを > 書き出す側にとっては、レベルが揃うと、インタフェイスが揃うので、 > ロガーの置き換えがし易い。 > > 各モジュールのログレベルは、以下のようになっています。 > > devel-logger: UNKNOWN, FATAL, CAUTION, ERROR, WARN, INFO, DEBUG > webrick/log.rb: FATAL, ERROR, WARN, INFO, DEBUG > log4r: FATAL, ERROR, WARN, INFO, DEBUG > syslog: EMERG, ALERT, CRIT, ERR , WARNING, NOTICE, INFO, DEBUG > > # syslogはそれぞれ、プラットフォームで定義されていれば。 > > # これらのレベルに対応し、たいてい、logger.debug(msg)とか > # logger.debug { msg }というインタフェイスが用意されている。 > > なひはUNKNOWNには多少こだわりがありますが、CAUTIONには > それほどこだわりません。Ruby界では、各レベルに適切な意味づけをして > 使い分けてる人は、ほとんど居ないと思うし、レベルはもっと少なくても > いいのかも。syslogとの統合はおいといて。。。 CAUTIONは削りました。また、log4r、webrick/log.rb互換のために、 def debug?; @level <= DEBUG; end def info?; @level <= INFO; end などのメソッドを追加しました。 というわけで、log4r、webrick/log.rbを使っているところであれば、 大抵置き換え可能だと思います。もちろん今後logger.rbを使うアプリが でてきたら、log4rへの置き換えも容易。。。にしてくれるといいなぁ。