log_define.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #ifndef LIBLOG_DEFINE_H
  2. #define LIBLOG_DEFINE_H
  3. #ifdef WIN32
  4. #define LOG_EXPORT _declspec(dllexport)
  5. #else
  6. #define LOG_EXPORT
  7. #endif
  8. #ifdef __cplusplus
  9. # define LOG_CPP_START extern "C" {
  10. # define LOG_CPP_END }
  11. #else
  12. # define LOG_CPP_START
  13. # define LOG_CPP_END
  14. #endif
  15. typedef int log_status_t;
  16. struct _post_log_result
  17. {
  18. int statusCode;
  19. char * errorMessage;
  20. char * requestID;
  21. };
  22. typedef struct _post_log_result post_log_result;
  23. typedef enum {
  24. LOG_TYPE_SYSTEM = 0/*系统日志*/, LOG_TYPE_USER = 1/*用户日志*/, LOG_TYPE_BUSINESS_SYSTEM = 2, LOG_TYPE_BUSINESS_USER = 3, LOG_TYPE_VTMWEB = 4
  25. }LOG_TYPE_E;
  26. typedef enum {
  27. LOG_LEVEL_DEBUG = 0, LOG_LEVEL_INFO = 1, LOG_LEVEL_WARN = 2, LOG_LEVEL_ERROR = 3, LOG_LEVEL_FATAL = 4
  28. }LOG_LEVEL_E;
  29. /**
  30. * 天眼log item
  31. */
  32. typedef struct _log_item {
  33. /***************************必填begin**********************/
  34. LOG_LEVEL_E Level;
  35. LOG_TYPE_E Type;
  36. //用户、系统日志均必填,交易处理结果代码,0表示处理成功,其他表示失败,可为系统本身的错误码,也可为后台系统返回的错误码
  37. char* ResultCode;
  38. //用户、系统日志均必填,业务跟踪ID, 32字节长度的字符串,唯一识别每笔请求
  39. char* TraceID;
  40. //用户、系统日志LOG_LEVEL_WARN以上必填
  41. //交易处理结果信息,包括成功与失败信息,可为系统本身的成功/失败信息,也可为后台系统返回的成功/失败信息.
  42. char* ResultMsg;
  43. /***************************用户日志必填必填begin**********************/
  44. //用户日志必填,日志码
  45. //终端中标识各个交易如读卡、读取身份证等。如果终端由于客观原因无法识别交易场景,则可字段由上游传入。
  46. char* LogCode;
  47. //用户日志必填,请求路径/接口名称.
  48. char* API;
  49. //用户日志必填, 请求发送/接收时间
  50. long BeginTime;
  51. //用户日志必填, 响应接收 / 应答时间
  52. long EndTime;
  53. //自定义字段,消耗时间
  54. long CostTime;
  55. char* VtmCode;
  56. //用户日志必填,请求业务ID
  57. char* BussID;
  58. //用户日志LOG_LEVEL_WARN以上必填,直接向客户展示的报错信息.
  59. char* TipMsg;
  60. /***************************系统日志必填begin**********************/
  61. //系统日志LOG_LEVEL_FATAL必填,异常来源类型
  62. char* SourceType;
  63. }log_item;
  64. /**
  65. * 北斗log item
  66. */
  67. typedef struct _beidou_log_item {
  68. char* BussID;
  69. char* TraceID;
  70. char* ParentSpanId;
  71. char* SpanId;
  72. char* Host;
  73. char* Api;
  74. char* ReturnCode;
  75. char* ResponseTime;
  76. char* CallStack;
  77. char* DbStack;
  78. char* Tags;
  79. char* deployUnitId;
  80. char* serviceUnitId;
  81. }beidou_log_item;
  82. #endif