ruby-on-rails – 在production.log中没有日志消息

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 在production.log中没有日志消息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我写了一个演示的HelloWorld Rails应用程序,并用WEBrick进行测试(它甚至不使用数据库,它只是一个打印“你好世界”的控制器).然后我试图将其部署到使用Passenger的本地Apache驱动.实际上这个测试只是让Passenger工作(这是我第一次在Apache上部署).现在我甚至不确定Passenger的工作原理,但是我在Apache方面没有任何错误.

当我发射http://rails.test/浏览器显示Rails 500错误页面 – 所以我认为Passenger的作品.我想调查日志,但是发生production.log是空的!我不认为这是一个权限问题,因为如果我删除文件,当我重新加载页面时,它会被重新创建.我尝试在conf / environments / production.rb中更改日志级别,尝试使用Rails控制台生成手动写入日志文件,

Rails.logger.error('asdf')

它返回true,但没有写入到production.log.路径(根据Rails.logger.inspect获取)是正确的,我注意到,如果我手动删除文件,则重新创建该文件.我怎么知道发生了什么?

(我已经检查了Apache日志,加上我为Passenger设置了最高的调试级别,但它似乎是一个Rails问题,所以没有被服务器记录)

解决方法

假设您正在运行Rails 3.2.1,这是一个错误.是 patched in 3.2.2.

如果由于任何原因您无法升级到3.2.2,this comment on GitHub has a workaround

# config/initializers/patch_rails_production_logging.rb
Rails.logger.instance_variable_get(:@logger).instance_variable_get(:@log_dest).sync = true if Rails.logger

猜你在找的Ruby相关文章