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 回答