수색…


Rails.logger

puts 보다는 항상 Rails.logger.{debug|info|warn|error|fatal} puts . 이렇게하면 로그를 표준 로그 형식에 맞출 수 있고 타임 스탬프를 가질 수 있으며 특정 환경에 표시 할 수있을 정도로 중요한지 여부를 선택할 수 있습니다. 레일즈 응용 프로그램 환경 이름을 사용하여 log/ 디렉토리에서 응용 프로그램의 개별 로그 파일을 볼 수 있습니다. like : development.log 또는 production.log 또는 staging.log

LogRotate로 레일 생산 로그를 쉽게 회전시킬 수 있습니다. 다음과 같이 작은 구성 만하면됩니다.

/etc/logrotate.conf 을 여러분이 좋아하는 리눅스 편집기 vim 이나 nano 열고 아래의 코드를이 파일에 추가하십시오.

/YOUR/RAILSAPP/PATH/log/*.log { 
  daily
  missingok
  rotate 7
  compress
  delaycompress
  notifempty
  copytruncate
}

따라서 작동 원리 이것은 매우 쉽습니다. 구성의 각 비트는 다음을 수행합니다.

  • daily - 매일 로그 파일을 회전합니다. 대신 여기에서 매주 또는 매월 사용할 수도 있습니다.
  • missingok - 로그 파일이 없으면 무시하십시오.
  • 회전 7 - 7 일간 만 로그 보관
  • compress - 회전 할 때 로그 파일을 GZip합니다.
  • delaycompress - 파일을 하루 동안 회전시킨 다음 그 다음날 압축하여 레일스 서버를 방해하지 않도록 할 수 있습니다.
  • notifempty - 로그가 비어있는 경우 파일을 회전하지 않습니다.
  • copytruncate - 로그 파일을 복사 한 다음 비우 십시오. 이렇게하면 Rails 로그 파일이 항상 존재하도록 작성되므로 파일이 실제로 변경되지 않으므로 문제가 발생하지 않습니다. 이 옵션을 사용하지 않으면 Rails 애플리케이션을 매번 다시 시작해야한다.

Logrotate 실행하기이 설정을 작성한 이래로 테스트하고 싶습니다.

logrotate를 수동으로 실행하려면 다음을 수행하십시오. sudo /usr/sbin/logrotate -f /etc/logrotate.conf

그게 전부 야.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow