QNLogUtil.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // QNLogUtil.h
  3. // QiniuSDK
  4. //
  5. // Created by yangsen on 2020/12/25.
  6. // Copyright © 2020 Qiniu. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. typedef NS_ENUM(NSInteger, QNLogLevel){
  11. QNLogLevelNone,
  12. QNLogLevelError,
  13. QNLogLevelWarn,
  14. QNLogLevelInfo,
  15. QNLogLevelDebug,
  16. QNLogLevelVerbose
  17. };
  18. @interface QNLogUtil : NSObject
  19. + (void)setLogLevel:(QNLogLevel)level;
  20. + (void)enableLogDate:(BOOL)enable;
  21. + (void)enableLogFile:(BOOL)enable;
  22. + (void)enableLogFunction:(BOOL)enable;
  23. + (void)log:(QNLogLevel)level
  24. file:(const char *)file
  25. function:(const char *)function
  26. line:(NSUInteger)line
  27. format:(NSString * _Nullable)format, ...;
  28. @end
  29. #define QNLog(level, fmt, ...) \
  30. [QNLogUtil log:level \
  31. file:__FILE__ \
  32. function:__FUNCTION__ \
  33. line:__LINE__ \
  34. format:(fmt), ##__VA_ARGS__]
  35. #define QNLogError(format, ...) QNLog(QNLogLevelError, format, ##__VA_ARGS__)
  36. #define QNLogWarn(format, ...) QNLog(QNLogLevelWarn, format, ##__VA_ARGS__)
  37. #define QNLogInfo(format, ...) QNLog(QNLogLevelInfo, format, ##__VA_ARGS__)
  38. #define QNLogDebug(format, ...) QNLog(QNLogLevelDebug, format, ##__VA_ARGS__)
  39. #define QNLogVerbose(format, ...) QNLog(QNLogLevelVerbose, format, ##__VA_ARGS__)
  40. NS_ASSUME_NONNULL_END