如何将日志级别符号转换为常量?

时间:2013-02-01 20:29:23

标签: ruby-on-rails logging

我正在创建一个新的记录器,并希望将日志级别配置为等于Rails配置值。

@logger = Logger.new(STDOUT)
@logger.level = Rails.configuration.log_level

我得到一个错误,因为level需要整数而log_level是一个符号(:info)。如何将:info转换为Logger理解的东西(Logger :: INFO)?

我尝试使用:

@logger.level = "Logger::#{Rails.configuration.log_level.to_s.upcase}".constantize

但是constantize无法识别符号:

NameError: uninitialized constant Logger::INFO

1 个答案:

答案 0 :(得分:4)

刚刚找到它:

Logger.const_get(Rails.configuration.log_level.to_s.upcase)