2017-09-05 8 views
1

프로젝트를 제 3 자 프레임 워크를 인용했습니다. NSLog을 사용합니다. NSLog을 다른 대상 (예 : Dotzu)으로 리디렉션하고 싶습니다.신속한 프로젝트에서 NSLog를 타사 로그 대상으로 리디렉션하는 방법은 무엇입니까?

내 프로젝트에서 NSLog를 재정의 할 수 있습니까?

+0

[Swift에서 NSLog를 파일로 리디렉션하지 못했습니다.] (https://stackoverflow.com/questions/41680004/redirect-nslog-to-file-in-swift-not-working) – ColGraff

답변

2

메서드가 아니기 때문에 덮어 쓸 수 없습니다. 함수가 아니기 때문에 덮어 쓸 수 없습니다. 그러나 NSLog() 추가로 NSLog()에 의해 불려 NSLogv()의 논의에 명시된 바와 같이 몇 가지 조건 stderr에 기록 :

은 애플 시스템 로그 시설 (남성 3 ASL 참조) 오류 메시지를 기록합니다. STDERR_FILENO 파일 디스크립터가 디폴트에서 리다이렉트되었거나 tty로가는 경우, 거기에 기록된다. 출력을 다른 곳으로 보내려면 사용자 지정 로깅 기능을 사용해야합니다.

을 사용하여 STDERR_FILENO을 리디렉션하면됩니다.

+0

감사합니다. 내 첫 번째 문제를 해결했지만 어떻게 [Dotzu] (https://github.com/remirobert/Dotzu/)로 안내 할 수 있습니까? 방법이없는 것처럼 보입니다. –

+0

자체 기능을 수행하지 않습니까? 다음과 같은 옵션이 있습니다 : "의사 파일"을 열고 이것을 리디렉션하십시오. 그러나 Dotzu는이를 지원해야합니다. 나는 Dotzu를 모른다. –

+0

나는 그렇지 않습니다. 확인해 주셔서 감사합니다. 시도해 볼게 –