悟空记账

BuglyLog.h 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // BuglyLog.h
  3. //
  4. // Copyright © 2017 tencent.com. All rights reserved.
  5. //
  6. #import <Foundation/Foundation.h>
  7. // Log level for Bugly Log
  8. typedef NS_ENUM(NSUInteger, BuglyLogLevel) {
  9. BuglyLogLevelSilent = 0,
  10. BuglyLogLevelError = 1,
  11. BuglyLogLevelWarn = 2,
  12. BuglyLogLevelInfo = 3,
  13. BuglyLogLevelDebug = 4,
  14. BuglyLogLevelVerbose = 5,
  15. };
  16. #pragma mark -
  17. OBJC_EXTERN void BLYLog(BuglyLogLevel level, NSString *format, ...) NS_FORMAT_FUNCTION(2, 3);
  18. OBJC_EXTERN void BLYLogv(BuglyLogLevel level, NSString *format, va_list args) NS_FORMAT_FUNCTION(2, 0);
  19. #pragma mark -
  20. #define BUGLY_LOG_MACRO(_level, fmt, ...) [BuglyLog level:_level tag:nil log:fmt, ##__VA_ARGS__]
  21. #define BLYLogError(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelError, fmt, ##__VA_ARGS__)
  22. #define BLYLogWarn(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelWarn, fmt, ##__VA_ARGS__)
  23. #define BLYLogInfo(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelInfo, fmt, ##__VA_ARGS__)
  24. #define BLYLogDebug(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelDebug, fmt, ##__VA_ARGS__)
  25. #define BLYLogVerbose(fmt, ...) BUGLY_LOG_MACRO(BuglyLogLevelVerbose, fmt, ##__VA_ARGS__)
  26. #pragma mark - Interface
  27. @interface BuglyLog : NSObject
  28. /**
  29. * @brief 初始化日志模块
  30. *
  31. * @param level 设置默认日志级别,默认BLYLogLevelSilent
  32. *
  33. * @param printConsole 是否打印到控制台,默认NO
  34. */
  35. + (void)initLogger:(BuglyLogLevel) level consolePrint:(BOOL)printConsole;
  36. /**
  37. * @brief 打印BLYLogLevelInfo日志
  38. *
  39. * @param format 日志内容 总日志大小限制为:字符串长度30k,条数200
  40. */
  41. + (void)log:(NSString *)format, ... NS_FORMAT_FUNCTION(1, 2);
  42. /**
  43. * @brief 打印日志
  44. *
  45. * @param level 日志级别
  46. * @param message 日志内容 总日志大小限制为:字符串长度30k,条数200
  47. */
  48. + (void)level:(BuglyLogLevel) level logs:(NSString *)message;
  49. /**
  50. * @brief 打印日志
  51. *
  52. * @param level 日志级别
  53. * @param format 日志内容 总日志大小限制为:字符串长度30k,条数200
  54. */
  55. + (void)level:(BuglyLogLevel) level log:(NSString *)format, ... NS_FORMAT_FUNCTION(2, 3);
  56. /**
  57. * @brief 打印日志
  58. *
  59. * @param level 日志级别
  60. * @param tag 日志模块分类
  61. * @param format 日志内容 总日志大小限制为:字符串长度30k,条数200
  62. */
  63. + (void)level:(BuglyLogLevel) level tag:(NSString *) tag log:(NSString *)format, ... NS_FORMAT_FUNCTION(3, 4);
  64. @end