APLog.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. //
  2. // APLog.h
  3. // APUtils
  4. //
  5. // Created by WenBi on 13-4-2.
  6. // Copyright (c) 2013年 Alipay. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. typedef enum APLogLevel
  10. {
  11. /** 特殊的日志级别,用于关闭所有的日志记录。 */
  12. kAPLogLevelOff = (NSUInteger)-1,
  13. /** 出错级别,用于记录错误事件。 */
  14. kAPLogLevelError = 40000,
  15. /** 警告级别,记录可能会影响应用程序正常运行的事件。 */
  16. kAPLogLevelWarn = 30000,
  17. /** 信息级别,用于记录程序中的关键事件。 */
  18. kAPLogLevelInfo = 20000,
  19. /** 调试级别,用于记录应用程序的调试信息。 */
  20. kAPLogLevelDebug = 10000,
  21. /** 特殊的最低级别,用于打开所有的日志记录。 */
  22. kAPLogLevelAll = 0,
  23. } APLogLevel;
  24. /**
  25. * Log a message with kAPLogLevelError level.
  26. *
  27. * @param message An NSString object that contains a printf-style string
  28. * containing a log message and placeholders for the arguments.
  29. * @param ... The arguments displayed in the format string.
  30. */
  31. #define APLogError(tag,fmt, ...) \
  32. APLogToFile(tag, kAPLogLevelError, fmt, ##__VA_ARGS__)
  33. /**
  34. * Log a message with kAPLogLevelWarn level.
  35. *
  36. * @param message An NSString object that contains a printf-style string
  37. * containing a log message and placeholders for the arguments.
  38. * @param ... The arguments displayed in the format string.
  39. */
  40. #define APLogWarn(tag,fmt, ...) \
  41. APLogToFile(tag, kAPLogLevelWarn, fmt, ##__VA_ARGS__)
  42. /**
  43. * Log a message with kAPLogLevelInfo level.
  44. *
  45. * @param message An NSString object that contains a printf-style string
  46. * containing a log message and placeholders for the arguments.
  47. * @param ... The arguments displayed in the format string.
  48. */
  49. #define APLogInfo(tag,fmt, ...) \
  50. APLogToFile(tag, kAPLogLevelInfo, fmt, ##__VA_ARGS__)
  51. /**
  52. * Log a message with kAPLogLevelDebug level.
  53. *
  54. * @param message An NSString object that contains a printf-style string
  55. * containing a log message and placeholders for the arguments.
  56. * @param ... The arguments displayed in the format string.
  57. */
  58. #define APLogDebug(tag,fmt, ...) \
  59. APLogToFile(tag, kAPLogLevelDebug, fmt, ##__VA_ARGS__)
  60. #ifdef __cplusplus
  61. extern "C" {
  62. #endif
  63. /**
  64. * 内部使用,业务不要用。
  65. */
  66. void APLogToFile(NSString *tag, int level, NSString *format, ...) NS_FORMAT_FUNCTION(3,4);
  67. /**
  68. * 历史遗留,没有实现,业务不要用。
  69. */
  70. void APLog(NSString *format, ...) __attribute__((deprecated("Use APLogInfo instead")));
  71. /**
  72. 内部使用,业务不要用,MPLog 开关设置
  73. */
  74. void MPLogEnable(BOOL enable);
  75. /**
  76. 内部使用,业务不要用,输出到控制台,可关闭
  77. */
  78. void MPLog(NSString *format, ...);
  79. #ifdef __cplusplus
  80. }
  81. #endif
  82. #if DEBUG
  83. #define APLogMonitor(tag,fmt, ...) APLogToFile(tag, kAPLogLevelInfo, fmt, ##__VA_ARGS__)
  84. #else
  85. #define APLogMonitor(tag,fmt, ...)
  86. #endif