2

我正在创建一个新的记录器,并希望将日志级别配置为等于 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
4

1 回答 1

4

刚找到:

Logger.const_get(Rails.configuration.log_level.to_s.upcase)
于 2013-02-01T20:36:13.150 回答