可配置的ruby记录器设置:Logger.new().level = variable
发布时间:2020-12-16 19:19:37 所属栏目:百科 来源:网络整理
导读:我想更改应用程序( ruby)的日志记录级别. require 'logger'config = { :level = 'Logger::WARN' }log = Logger.new STDOUTlog.level = Kernel.const_get config[:level] 好吧,irb对此并不满意,并在我的脸上扔了“NameError:错误的常量名称Logger :: WARN”.
我想更改应用程序(
ruby)的日志记录级别.
require 'logger' config = { :level => 'Logger::WARN' } log = Logger.new STDOUT log.level = Kernel.const_get config[:level] 好吧,irb对此并不满意,并在我的脸上扔了“NameError:错误的常量名称Logger :: WARN”.啊!我被侮辱了. 我可以在一个案例/什么时候解决这个问题,或者做log.level = 1,但必须有一个更优雅的方式! 有没有人有任何想法? -daniel 解决方法
为什么不在配置哈希中使用文字常量?
config = { :level => Logger::WARN } 然后你不必愚弄const_get或类似的东西;你可以简单地做log.level = config [:level]. 如果绝对必须是字符串,则可以删除命名空间前缀并在Logger模块上调用const_get: irb(main):012:0> Logger.const_get 'WARN' => 2 如果它确实必须是限定字符串,您可以尝试使用this blog’s (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |