1

ご存じかもしれませんが、Logger:Application には定数があります (Logger::DEBUG、Logger::WARN など...)

私のログ レベルは、構成内の文字列です。その文字列をロガーに渡すとエラーが発生します。文字列を受け入れるには、level メソッドをオーバーライドする必要があります。

log = Logger.new($CONFIG.log.file, $CONFIG.log.freq)
log.level = $CONFIG.log.level ## << Error
#log.level = Logger::WARN ## < manually settings it as example in doc. 

ログレベルを動的に設定するにはどうすればよいですか?

4

1 に答える 1

5

使用const_get:

log_level = 'WARN'
log.level = Logger.const_get(log_level)  #=> 2  (which is the value of Logger::WARN)

Logger::Error&Logger::ERRORは同じものではないので、入力には注意してください。

于 2012-12-24T19:08:16.873 に答える