UMSociallogMacros.h 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // UMSociallogMacros.h
  3. // UMSocialCore
  4. //
  5. // Created by 张军华 on 16/9/7.
  6. // Copyright © 2016年 张军华. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. /**
  10. * 设置全局的日志等级
  11. *
  12. * @param levelString 日志分级字符串 @see UMSocialLogClosedString,UMSocialLogErrorString,UMSocialLogWarnString,UMSocialLogInfoString,UMSocialLogDebugString,UMSocialLogVerboseString
  13. * @discuss 普通用户可以设置UMSocialLogClosedString,UMSocialLogErrorString,UMSocialLogWarnString,UMSocialLogInfoString,UMSocialLogDebugString的字符串,如果设置UMSocialLogVerboseString的时候,如果不是本库的开发者,是降低其等级到UMSocialLogDebugString
  14. */
  15. FOUNDATION_EXPORT void setGlobalLogLevelString(NSString* levelString);
  16. FOUNDATION_EXPORT NSString* getGlobalLogLevelString();
  17. FOUNDATION_EXPORT NSString* const UMSocialLogClosedLevelString;
  18. FOUNDATION_EXPORT NSString* const UMSocialLogErrorLevelString;
  19. FOUNDATION_EXPORT NSString* const UMSocialLogWarnLevelString;
  20. FOUNDATION_EXPORT NSString* const UMSocialLogInfoLevelString;
  21. FOUNDATION_EXPORT NSString* const UMSocialLogDebugLevelString;
  22. FOUNDATION_EXPORT NSString* const UMSocialLogVerboseLevelString;
  23. /**
  24. * 根据等级打印日志
  25. *
  26. * @param flagString 控制打印分级的标志字符串
  27. * @see below UMSocialLogClosedFlagString...and so on
  28. * @param file 打印日志的文件
  29. * @param function 打印日志的函数
  30. * @param line 打印的日志的行数
  31. * @param format 需要打印的日志格式内容
  32. * @param ... 可变参数
  33. * @dicuss 本库不需要直接调用,可以用简易函数宏 @see UMSocialLogError,UMSocialLogWarn,UMSocialLogInfo,UMSocialLogDebug
  34. */
  35. FOUNDATION_EXPORT void UMSocialLog(NSString* flagString,const char* file,const char* function,NSUInteger line,NSString *format, ...) NS_FORMAT_FUNCTION(5,6);
  36. FOUNDATION_EXPORT NSString* const UMSocialLogErrorFlagString;
  37. FOUNDATION_EXPORT NSString* const UMSocialLogWarnFlagString;
  38. FOUNDATION_EXPORT NSString* const UMSocialLogInfoFlagString;
  39. FOUNDATION_EXPORT NSString* const UMSocialLogDebugFlagString;
  40. FOUNDATION_EXPORT NSString* const UMSocialLogVerboseFlagString;
  41. //简易函数类似于系统的NSLog函数,线程安全
  42. #define UMSocialLogError(format, ...) UMSocialLog(UMSocialLogErrorFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
  43. #define UMSocialLogWarn(format, ...) UMSocialLog(UMSocialLogWarnFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
  44. #define UMSocialLogInfo(format, ...) UMSocialLog(UMSocialLogInfoFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
  45. #define UMSocialLogDebug(format, ...) UMSocialLog(UMSocialLogDebugFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
  46. #define UMSocialLogVerbose(format, ...) UMSocialLog(UMSocialLogVerboseFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
  47. //日志国际化的相关的函数和宏
  48. FOUNDATION_EXPORT NSString* UMSocialLogWithLocalizedKey(NSString* key);
  49. #define UMSocialLogLocalizedString(key) UMSocialLogWithLocalizedKey(key)