아이폰에서 사용할 수 있는 Log4j 같은 로깅 프레임웍을 찾아 구글링을 하다,
cocoalumberjack 이라는 프레임웍을 찾게 되었다. 사용법도 log4j 와 유사하면서,
설정하기 쉽고, NSLog 보다 빠른속도와 커스텀 로거를 작성할 수 있는 유연성도 제공한다.
실제로 사용해보고, 유용성에 대해서는 추후 포스팅 해야겠다.
아래 주소에서 프레임웍 소스를 다운받자. (svn 으로 체크아웃하자)
http://code.google.com/p/cocoalumberjack/
1 소스를 아이폰 프로젝트에 복사한다 (logging이라는 폴더를 만들고, lumberjack 폴더를 통째로 복사했다)
2 프레임웍 사용을 위한 설정을 한다. 사용할 로거의 종류를 결정하는 부분으로 초기화하는 부분에 들어간다
( 예를 들면 applicationDidFinishingLaunching...)
DDLog : 프레임웍의 기초가 되는 부분
DDASLogger : 로그메시지를 Apple System 로거인 Console.app 으로 출력한다
DDTTYLogger : 로그메시지를 Xcode 터미널로 출력한다.
DDFileLogger : 로그메시지를 파일로 출력한다.
다음과 같이 사용할 로거의 인스턴스를 생성하여 DDLog에 추가한다
#import "DDLog.h" #import "DDTTYLogger.h" #import "DDASLLogger.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [DDLog addLogger:[DDASLLogger sharedInstance]]; [DDLog addLogger:[DDTTYLogger sharedInstance]]; // ... }
3 기존 NSLog 문을 프레임웍에서 제공하는 로깅 메서드로 대체한다.
로깅 레벨은 error < warn < info < verbose 가 지원된다. 해당 로깅레벨은 설정하면, 자신과 하위레벨의
로깅메시지만을 출력한다. 레벨별 로깅 메서드는 다음과 같다.
DDLogError(@""); DDLogWarn(@""); DDLogInfo(@""); DDLogVerbose(@"");
로깅 레벨은 전역으로 설정 할 수도 있으며, 파일별로 설정할 수도 있다. 로깅 레벨은 상수로 정의되어 진다.
LOG_LEVEL_ERROR : 에러레벨의 로깅메시지 출력 LOG_LEVEL_WARN : 에러, 경고레벨의 로깅메시지 출력 LOG_LEVEL_INFO : 에러, 경고, 인포 레벨의 로깅메시지 출력 LOG_LEVEL_VERBOSE : 모든 로깅메시지 출력 LOG_LEVEL_OFF : 모든 로깅메시지를 출력하지 않음
이제 파일의 상단에 헤더파일과 로깅 레벨을 선언하고, 로깅메서드를 사용한다
#import "DDLog.h" // 모든 로깅메시지 출력하도록 레벨 설정 static const int ddLogLevel = LOG_LEVEL_VERBOSE; // 에러 레벨 로깅메시지 출력 DDLogError(@"fail!!");커스텀 로거를 작성하는 방법 또는 파일로거를 작성하는 방법은 프로젝트 사이트를 참고하자~
'프로그래밍 > iOS' 카테고리의 다른 글
UIPickerView 여러 열 사용하기 (0) | 2012.02.07 |
---|---|
수동으로 UI 컨트롤에 이벤트 전달 (0) | 2012.02.07 |
애플리케이션 응답성 향상을 위해 동시성 사용하기 (0) | 2012.02.07 |
애플 푸시 서비스 (0) | 2012.02.07 |
푸시 메시지 포맷 (0) | 2012.02.07 |