以下是完整警告:
DEPRECATION警告:不推荐使用RAILS_DEFAULT_LOGGER。请使用:: Rails.logger。 (来自/Users/timmartin/src/edcaliber/config/environment.rb:7)
我的树不包含'RAILS_DEFAULT_LOGGER',而环境.rb的第7行只是:
所有MyApplication ::在Application.Initialize!
我怎样摆脱这个警告?我最近从rails2升级
答案 0 :(得分:0)
这可能来自您正在使用的其中一个插件。四处搜寻,看看你能找到它是哪一个。
答案 1 :(得分:0)
在我的Rails 3应用程序上收到了相同的警告消息,我在其中一个文件中明确使用了RAILS_DEFAULT_LOGGER;用:: Rails.logger替换它会使警告消息消失。
在您应用的其他配置文件中,可能会有一个RAILS_DEFAULT_LOGGER实例。尝试在您的应用中查找该字符串。
从rails app主目录运行以下命令应该会显示它的位置。
grep -r RAILS_DEFAULT_LOGGER *
答案 2 :(得分:0)
如果它不在您的代码中,那么它就在某个宝石中。这是一个搜索你的宝石的bash one-liner:
find `gem environment | grep "INSTALLATION DIR" | cut -d: -f2` | grep rb$ | xargs grep RAILS_DEFAULT_LOGGER
对我而言,webrat,railties和newrelic都使用RAILS_DEFAULT_LOGGER。
如果您想学习如何捕鱼而不仅仅是吃这条鱼,或者当互联网上有人告诉您时,您不只是将脚本粘贴到终端中,这里是如何逐步完成的。踏上自己。第一次运行
gem environment
查看gems的ruby代码的安装位置。对我来说,该目录似乎被列为“INSTALLATION DIRECTORY”,它是/home/lacker/.rvm/gems/ruby-1.8.7-p352
。下一步是获取这些宝石中以“rb”结尾的所有文件的列表:
find /home/lacker/.rvm/gems/ruby-1.8.7-p352 | grep rb$
现在我们想要为RAILS_DEFAULT_LOGGER中的每一个进行grep,你可以使用xargs + grep:
find /home/lacker/.rvm/gems/ruby-1.8.7-p352 | grep rb$ | xargs grep RAILS_DEFAULT_LOGGER
如果安装了Ack,也可以使用{{3}}。