重新启动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部署到一个mongrel群集.
当我做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的链接.
这是怎么回事?
解决方法
原来是一个微妙的轨道bug:
当这两行出现异常时
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