NSog()
을 파일로 리디렉션하고 싶지만 여전히 콘솔에서 출력을보고 싶습니다. 나는 stderr
사용 파일로 리디렉션 할 수 있다는 것을 알고하지 :콘솔과 파일 모두에 대한 NSLog()
freopen("file.log", "a+", stderr);
하지만 파일에 그것을 리디렉션 후, 로그는 더 이상 콘솔 출력에 표시됩니다.
사용자 지정 래퍼를 NSLog()
주위에 만들 수 있지만 응용 프로그램 충돌이 발생했을 때 stderr
에 기록 된 충돌 로그는 기록되지 않습니다.
나는 또한 dup()
및 파일 설명자를 복제하는 다른 방법을 실험하고 있었지만 출력은 파일이나 콘솔에서 ether이었으며 결코 둘 다 사용하지 않았습니다.
비슷한 질문이 여기에 있습니다. Write stderr on iPhone to both file and console 답변이 없거나 NSLog() 래퍼를 사용하도록 제안하지 않았습니다.
누구나이 작업을 관리하는 방법에 대한 아이디어가 있습니까? 고맙습니다.
UPDATE : 리디렉션의 가장 중요한 부분은 콘솔과 파일 모두에 기록 시스템 오류 로그 (열려진을)하는 것입니다.
두 개의 개별 로그를 만들고 파일 하나를 보내고 콘솔 하나를 콘솔로 보내지 만 동일하게 유지하면 어떨까요? – JTApps
어떻게 관리 하시겠습니까? 가장 중요한 것은 콘솔과 파일 모두에 시스템 오류 로그를 기록하는 것입니다. –
'NSLog'는 기본적으로 콘솔에 로그를 남깁니다. 아마도 거기에서 로그를 추출 할 수 있습니다. http://stackoverflow.com/questions/7150849/how-can-i-get-a-console-read-at-runtime-in -an-application/7151773 # 7151773 – Joe