iOS 공통로그 & pch 파일
iOS 공통로그 & pch 파일 작성 예제
#ifndef MyPushTestPro_PrefixHeader_pch
#define MyPushTestPro_PrefixHeader_pch
// Include any system framework and library headers here that should be included in all compilation units.
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
//#ifdef DEBUG
//#define NSLog( s, ... ) NSLog( @"[%@ %s(%d)] %@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __PRETTY_FUNCTION__, __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
//#else
//#define NSLog( s, ... )
//#endif
// Set this switch to enable or disable ALL logging.
#define LOGGING_ENABLED 1
// Set any or all of these switches to enable or disable logging at specific levels.
#define LOGGING_LEVEL_DEBUG 1
#define LOGGING_LEVEL_INFO 1
#define LOGGING_LEVEL_ERROR 1
// Set this switch to set whether or not to include class, method and line information in the log entries.
#define LOGGING_INCLUDE_CODE_LOCATION 1
// ***************** END OF USER SETTINGS ***************
#if !(defined(LOGGING_ENABLED) && LOGGING_ENABLED)
#undef LOGGING_LEVEL_DEBUG
#undef LOGGING_LEVEL_INFO
#undef LOGGING_LEVEL_ERROR
#endif
// Logging format
#define LOG_FORMAT_NO_LOCATION(fmt, lvl, ...) NSLog((@"[%@] " fmt), lvl, ##__VA_ARGS__)
#define LOG_FORMAT_WITH_LOCATION(fmt, lvl, ...) NSLog((@"%s [Line %d] [%@] " fmt), __PRETTY_FUNCTION__, __LINE__, lvl, ##__VA_ARGS__)
#if defined(LOGGING_INCLUDE_CODE_LOCATION) && LOGGING_INCLUDE_CODE_LOCATION
#define LOG_FORMAT(fmt, lvl, ...) LOG_FORMAT_WITH_LOCATION(fmt, lvl, ##__VA_ARGS__)
#else
#define LOG_FORMAT(fmt, lvl, ...) LOG_FORMAT_NO_LOCATION(fmt, lvl, ##__VA_ARGS__)
#endif
// Debug level logging
#if defined(LOGGING_LEVEL_DEBUG) && LOGGING_LEVEL_DEBUG
#define LogDebug(fmt, ...) LOG_FORMAT(fmt, @"debug", ##__VA_ARGS__)
#else
#define LogDebug(...)
#endif
// Info level logging
#if defined(LOGGING_LEVEL_INFO) && LOGGING_LEVEL_INFO
#define LogInfo(fmt, ...) LOG_FORMAT(fmt, @"info", ##__VA_ARGS__)
#else
#define LogInfo(...)
#endif
// Error level logging
#if defined(LOGGING_LEVEL_ERROR) && LOGGING_LEVEL_ERROR
#define LogError(fmt, ...) LOG_FORMAT(fmt, @"***ERROR***", ##__VA_ARGS__)
#else
#define LogError(...)
#endif
#endif /* MyPushTestPro_PrefixHeader_pch */
참고
ios debug log
https://reysion.tistory.com/19
pch 파일 작성
https://itstudentstudy.tistory.com/93
로그 레벨
https://blog.lulab.net/programmer/what-should-i-log-with-an-intention-method-and-level/
'아이폰 개발 > ios 개념&튜토리얼' 카테고리의 다른 글
iOS CoreLocation 공통 모듈 - 싱글톤 (0) | 2021.02.09 |
---|---|
iOS 최상위뷰 체크 예제 - Curent RootViewController (0) | 2021.02.08 |
iOS UNNotificationServiceExtension 예제 Push Sound (1) | 2021.02.05 |
iOS 화면보호기 예제 (0) | 2021.02.03 |
iOS UIActivityIndicatorView 예제 (0) | 2021.02.02 |