2011-07-11 70 views
0

我在我的Apache的错误日志越来越不受欢迎的废弃警告:如何不在apache错误日志上打印弃用警告?

/srv/www/<application>/shared/bundle/ruby/1.8/gems/actionpack-3.0.7/lib/action_view/paths.rb:15: warning: Object#id will be deprecated; use Object#object_id 

我想不会在生产时打印这些废弃警告。

我试图把它添加到我的enviromenents/production.rb文件:

config.active_support.deprecation = nil 

config.active_support.deprecation = :stderr 

config.active_support.deprecation = :notify 

config.active_support.deprecation = :log 

虽然,我没有任何这些选项的成功,因为Apache日志继续得到我的弃用警告。

有谁知道我应该怎么做?

回答

1

这个特殊的警告是由Ruby本身打印的,它与active_support没有任何关系。我看到的唯一方法是禁用所有stderr输出,但我怀疑它是你想要的。

补充:

抓住它本应帮助:

class Object 
    def id 
    raise 
    end 
end 
+0

谢谢,你知道是否有任何方法让我获得弃用调用的堆栈跟踪? –

+1

查看编辑答案 –

1

这取决于。什么是输出弃用警告?如果它是rails外的gem(不是active-something或action-something),它可能只是将它打印到STDERR,这会导致它被打印到错误日志中。

我的建议是修正使用弃用方法的任何内容,看看可能有其不推荐使用的原因。

+0

到现在为止,我还是不希望修复弃用警告的原因。正如你在我上次编辑中看到的,该对象属于action_view。 –