首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Log4r配置程序抛出异常实例化EmailOutputter

Log4r配置程序抛出异常实例化EmailOutputter
EN

Stack Overflow用户
提问于 2014-01-14 17:06:15
回答 1查看 215关注 0票数 0

我正在使用XML文件设置Log4r,并且无法使EmailOutputter正确工作。这是我的输出标签:

代码语言:javascript
复制
<outputter type="EmailOutputter" name="exception_email" trunc="false" level="ERROR" buffsize="10">
        <formatter type="PatternFormatter" pattern="#{pattern}"/>
        <server>#{smtp_address}</server>
        <port>#{smtp_port}</port>
        <domain>#{smtp_domain}</domain>
        <from>logging@#{smtp_domain}</from>
        <to>exceptions@mydomain.com</to>
        <subject>Log Report</subject>
        <immediate_at>ERROR, FATAL</immediate_at>
      </outputter>

我已经三次和四次检查了所有的XML变量是否都是使用RubyMine步骤调试器正确传入的。例外消息是:

未初始化的异常:创建输出程序问题:未初始化的常量Log4r::Configurator::EmailOutputter /usr/local/lib/ruby/gems/1.9.1/gems/log4r-1.1.10/lib/log4r/configurator.rb:87:in block in decode_xml' /usr/local/lib/ruby/1.9.1/rexml/element.rb:905:in块在每个“/usr/local/lib/ruby/1.9.1/rexml/xpath.rb:67:in each' /usr/local/lib/ruby/1.9.1/rexml/xpath.rb:67:ineach”/usr/local/lib/ruby/1.9.1/rexml/element.rb:905:in中在/usr/local/lib/ruby/gems/新的‘/usr/local/lib/ruby/gems/1.9.1/gems/log4r-1.1.10/lib/log4r/configurator.rb:82:in actual_load' /usr/local/lib/ruby/gems/1.9.1/gems/log4r-1.1.10/lib/log4r/configurator.rb:56:inload_xml_file’/root/src/upside/common/upside_logger.rb:16:in initialize' /root/src/upside/common/logger_factory.rb:7:in新的/root/src/upside/common/logger_factory.rb:7:in new_logger' /root/src/upside/config/application.rb:30:in块中1.9.1/gems/activesupport-3.2.11/lib/active_support/lazy_load_hooks.rb:34:in call' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/lazy_load_hooks.rb:34:inexecute_hook‘/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/lazy_load_hooks.rb:26:in block in on_load' /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/lazy_load_hooks.rb:25:ineach’/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/懒惰_load_hooks.rb:25:inon_load' /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/railtie/configuration.rb:43:inbefore_configuration/root/src /usr/ config/application.rb.14:29在<class:Application>' /root/src/upside/config/application.rb:15:in‘/root/src/usr/config/applic.rb:14:<top (required)>' /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands.rb:53:in中需要’before_configuration‘/usr/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands.rb:50:in <top (required)>' /root/src/upside/script/rails:6:in需要‘/root/src/in/script/rails:6:in’

我双倍地检查了gem安装,emailoutputter.rb与其他输出程序一起位于正确的目录中(哪个功能正确)。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-02 18:34:58

我发现log4r文件lib/log4r.rb缺少行require "log4r/outputter/emailoutputter"。将这个缺失的require添加到config/initializer文件中的Rails应用程序中,可以使用EmailOutputter类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21119473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档