2013-02-04 1 views
1

내 Mac OS X 샌드 박스 응용 프로그램에 필요한 모든 작업의 ​​로그 파일을 작성하고 싶습니다. 올바른 경로는 /Users/MyName/Library/Containers/com.me_developer.myAppID/Data/Library/Logs/입니다. 나는 파일에 텍스트를 추가하는 방법을 알고 있지만, 내가 찾고있는 것은 시스템 로그 파일과 비슷한 방식으로 보관 된 오래된 로그 파일을/var/log에 기록한 다음 특정 크기에 도달하면 이름이 바뀌고 압축됩니다 (bz2). Mac OS X 또는 그 하위 레벨 UNIX가이를위한 솔루션을 제공하는지 궁금합니다. 따라서 수동으로 모든 코드를 작성하지 않아도됩니다. 감사.객관적인 C에서 system.log와 같은 로그 파일을 작성하는 방법은 무엇입니까?

답변

5

Mac OS X (및 iOS)의 시스템 로그 기능과 상호 작용하기위한 API 인 asl을 살펴보십시오. C API라는 점에서 약간 낮은 수준이지만 Apple에서 승인 한 샌드 박스 호환 방식에서 원하는 모든 작업을 수행해야합니다.

ASL 용 타사 오픈 소스 Objective-C 랩퍼가 많이 있습니다. 다음은 몇 가지 예입니다 (나는 나 자신을이 중 하나를 사용하지 않은)입니다

http://boredzo.org/blog/archives/2008-01-20/why-asl
http://www.cocoanetics.com/2011/03/accessing-the-ios-system-log/ :

https://github.com/AlanQuatermain/aqtoolkit/tree/master/ASLogger
여기 https://github.com/billgarrison/SOLogger https://github.com/nloko/NLOSyslog

가 ASL을 사용하는 방법에 대한 몇 가지 기사/튜토리얼입니다

마지막으로 매우 인기있는 코코아 로그 인 Cocoa Lumberjack을 확인하십시오. ng 라이브러리.

+2

나는 코코아 나무꾼을 처음 보게 만들 것이다. NSLog를 호출하는 것처럼 보이지만 파일이나 asl에 쓸모가있다. – Mark

+0

고마워. 벌목꾼은 위대한 작품. – fundidor

관련 문제