0

레일즈 3은 알 수없는 기간 후에 자동으로 프로덕션 로그를 자르는 것처럼 보입니다. 내 앱의 동작을 감사하기 위해 지난 90 일 동안 생산 로그를 저장하고 싶습니다. this answer에 따르면 이전 버전의 레일 Logger은 적어도 이전 날짜를 자동으로 삭제하지는 않지만 로그를 다른 요일로 분리 할 수 ​​있도록 지원했지만 레일스는 이러한 옵션을 지원하지 않는 BufferedLogger을 사용합니다.Rails 3에서 90 일 동안 프로덕션 로그를 저장할 수 있습니까?

어느 쪽이든 유닉스의 logrotate을 설정하여 원하는 로그 보관 정책을 설정해야 할 수도 있습니다. 괜찮습니다.하지만 Rails가 자동으로 로그를 자르지 않아서 아무 것도 잃지 않도록해야합니다. 어떻게해야할지 모르겠습니다.

이 모든 것을 한 곳에서 처리 할 수있는 Rails (아마도 보석)와 함께 사용할 수있는 대체 로깅 기능이 있습니까? 그렇지 않다면 BufferedLogger에서 로그가 잘리지 않도록하려면 어떻게해야합니까? logrotate 님의 방법은 아닙니까?

답변

0

AFAIK에는 절사가 전혀 없습니다. BufferedLogger 소스는 로그 파일의 제한을 표시하지 않습니다.

http://engineering.freeagent.com/2011/10/12/understanding-the-rails-logger/은 일부 내부 설명서에 도움이됩니다. 그러나 당신 자신을 돌보는 것이 필요해 보입니다.

+0

사실, 내 production.log에'less'를 사용했을 때 바이너리 파일 인 것으로보고되었습니다. 파일의 꼬리는 최근의 몇 가지 요청 일 뿐이며, 머리는'^ @'톤으로 가득 차 있습니다 ... 도대체 뭐라구? 나는 전에 그것을 본 적이 없다 ... –

+0

나는 당신의 대답을 받아 들였다. 내 문제는 이전 레일즈 버전에서 버려진 BufferedLogger의 원숭이 패치와 관련이 있다는 것이 판명났습니다. –