Rails:无法访问日志文件

重新启动我的Rails应用程序时出现以下错误。 我以前有过这个问题,在另一台服务器上有另一个应用程序,但不记得是什么问题,或者我怎么解决这个问题。

Rails Error: Unable to access log file. Please ensure that /apps/staging/releases/20090310162127/log/staging.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed. 

我在Ubuntu上用capistrano部署到一个杂种群集。

当我做ls -l /apps/staging/releases/20090310162127/log/staging.log

结果是:

 -rw-rw-rw- 1 me grp 51 Mar 10 16:07 /apps/staging/releases/20090310162127/log/staging.log 

日志目录是到/ apps / staging / shared / log的链接。

这是怎么回事?

    原来是一个微妙的轨道错误:

    当这两行中出现异常时

     logger = ActiveSupport::BufferedLogger.new(configuration.log_path) logger.level = ActiveSupport::BufferedLogger.const_get(configuration.log_level.to_s.upcase) 

    rails假定它找不到日志文件。 但是,实际的错误发生在第二行:一个NameError因为常量不正确。 原因是我的配置文件中有一个传统的日志级别:

     config.log_level = Logger::INFO 

    Rails 2.2使用自己的记录器,并不理解上面的行。

    解决方法:删除行,或使用:

     config.log_level = :info 

    Rails像me运行吗? 如果不是,用户是以什么方式运行? 那个用户是jail吗? 用户是否具有/apps/staging/shared/log所有组件以及/apps/staging/releases/20090310162127/log所有组件的遍历权限?