BuglyLog.h 2.4 KB

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