2

我在开发环境中运行的 Rails 应用程序突然停止记录,我不知道为什么。

我尝试通过执行登录到一个新文件

config.logger = Logger.new('log/temp.log')
config.log_level = :debug

但仍然没有运气。新文件 temp.log 已创建,但文件中未记录任何内容。问题是这发生在我运行 nginx 的开发服务器上(我在这个服务器上使用“rails s -d”运行我的 rails 应用程序)。完全相同的文件,当我在本地机器(我自己的计算机)上运行时,日志记录工作正常。

所以我觉得日志记录不起作用的原因是服务器特有的东西,但是我没有在服务器上做太多事情(例如我没有安装新的 gem 等)。日志一直工作正常,直到很少几天前。

当我去 Rails 控制台时

rails c
> Rails.logger.debug "hello"
=> true

我确实将“hello”登录到上面在配置文件中指定的“log/temp.log”中。

我认为对日志目录或文件的权限是可以的。还有什么可能是错的?

4

1 回答 1

0

我相信这是一个锁定问题,您可以在删除导致此问题的记录器的调用后解决该问题。

我在 Redmine 1.x 中遇到了这个问题,我在 production.log 中找到了 newrelic_rpm 条目,说它没有运行,并且有 1 行 Redmine 插件初始化。

从 environment.rb(config.gem 行)中删除 newrelic_rpm 和插件记录器初始化消息后,日志记录工具似乎已恢复并且日志条目再次出现。

于 2013-01-10T19:04:45.863 回答