2009-09-11 1 views
0

Mac의 GTMLogger 용 Google 도구 상자를 사용하여 현재 작업중인 앱에 파일 로깅을하고 있습니다.Mac 용 Google 도구 상자를 사용하여 파일에 로깅 할 때 로그 파일 롤오버

파일 크기가 커지면 로그 파일 롤오버를 수행하는 방법을 결정하려고합니다.

log4net의 즉각적인 롤오버가 이상적입니다. 로그 파일이 최대 11 개의 로그 파일로 동시에 기록되지만,이 작업을 수행 할 수있는 기본 제공 방법이 표시되지 않는지 궁금합니다. 그것을 추가하려는 것은 가치가있는 것보다 더 큰 문제입니다.

내가 생각할 수있는 다소 간단한 옵션은 앱 시작시이 검사를 수행하고 특정 크기를 초과하는 로그를 롤백하는 것입니다. 이것에 대한 단점은 물론 누군가가 앱을 1 주일이나 2 주 정도 운영하지 않으면 (그리고 앱의 일부가 launchd 데몬이기 때문에 거의 재시작하지 않는 사람들에게 확실한 가능성이 있음), 로그 파일이 아닌 이 기간 동안 생성 된 중요한 크기 (사용 가능한 로깅 수준에 따라 다름)

내 최고의 옵션은 무엇입니까?

답변

1

시작시에만 확인하는 것이 충분하지 않을 수도 있습니다. 따라서 시작시 runloop에 타이머를 두어 즉시 또는 매일 두 번씩 로그 검사를 실행하십시오. 한 번에 최대 1 MiB를 사용하여 타겟팅하는 경우 잠시 동안 한도를 초과하더라도 모든 것이 그렇게 중요하지는 않습니다.

log4net에서이 기능을 구현하는 방법을 살펴볼 수도 있습니다. 각 Append()을 연결하여 크기/날짜 제약 조건이 충족되는지 확인하고 필요한 경우 기록 된 파일을 조정하는 것처럼 간단합니다. 자세한 내용은 RollingFileAppender source code을 참조하십시오. AdjustFileBeforeAppend()으로 시작한 다음 RollOverSize()을 확인하십시오. 아파치 : 소스를 사용하십시오!

+0

Google은이 기능을 지원하기 위해 GTM의 로깅을 확장했습니다. –