문제

레일 앱을 다시 시작할 때 다음과 같은 오류가 발생합니다. 다른 앱이있는 다른 서버 에서이 문제가 있었지만 문제가 무엇인지 또는 어떻게 해결했는지 기억할 수 없습니다.

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

로그 딥은 a입니다 link /앱/스테이징/공유/로그.

무슨 일이야?

도움이 되었습니까?

해결책

미묘한 레일 버그로 판명되었습니다.

이 두 줄에서 예외가 제기 될 때

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

Rails는 로그 파일을 찾을 수 없다고 가정합니다. 그러나 실제 오류는 두 번째 줄에서 발생했습니다. 그 이유는 내 구성 파일에 레거시 로그 레벨이 있었기 때문입니다.

config.log_level = Logger::INFO

Rails 2.2는 자체 로거를 사용하며 위의 줄을 이해하지 못합니다.

해결책 : 라인을 제거하거나 사용하십시오.

config.log_level = :info

다른 팁

레일이 달리는 것입니다 me? 그렇지 않다면, 어떤 사용자가 실행되고 있습니까? 그 사용자입니다 jail'에드? 사용자는 모든 구성 요소에 대한 트래버스 권한이 있습니까? /apps/staging/shared/log 뿐만 아니라 모든 구성 요소 /apps/staging/releases/20090310162127/log?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top