2014-05-21 6 views
0

내 응용 프로그램에서는 다음 코드를 사용하여 project.log에 응용 프로그램의 세부 정보를 기록했습니다.iOS에서 프로그래밍 방식으로 .log 파일의 내용을 지우는 방법

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"project.log"]; 
freopen([logPath fileSystemRepresentation],"a+",stderr); 

이 코드는 내가 nslog에서 정의한 모든 세부 사항을 완벽하게 기록합니다. 이제는 로그 파일이 훨씬 커지는 것을 원하지 않습니다. 그래서 1 주 이상 전에 기록 된 로그 파일의 내용을 지우고 싶습니다. 하지만 지난 7 일 동안 로그 내용이 필요합니다. 위의 작업을 수행 할 수있는 가능한 해결책이 있습니까?

답변

1

쉬운 해결책이 있습니다. 그것은 당신이 요구 한 것이 아니지만, 아마도 그것은 당신에게 가치가 있습니다.

시작에

은 이렇게 :

project.log이 존재하고 (예를 들어) 2메가바이트보다 큰 체크하면
  • .
  • 아니요 인 경우 project.log을 사용하십시오.
  • 예인 경우 : 1) project.old.log (있는 경우)을 제거하십시오. 2) (당신이 "A +"로 열면이 생성됩니다) project.log
+0

감사 로그) 이름을 바꿉니다. 하지만 특정 기간 (처음부터 일주일 전에) 동안 로그를 지우고 싶습니다. – santhosh

+1

그럼 그냥 지워야합니다. 로그를 분석하십시오. 귀하의 시간 프레임에있는 첫 번째 로그 라인을 찾으십시오. 다음의 모든 로그 라인을 새 파일에 기록하십시오. 이전 파일을 삭제하십시오. 새 파일의 이름을 바꿉니다. 바로 가기가 없습니다. – Michael

+0

모든 가능성을 확인했습니다. 다른 방법은 없습니다. 귀하의 답변에 감사드립니다. 이 논리를 구현했습니다. – santhosh