123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #ifndef LOG_BUILDER_H
- #define LOG_BUILDER_H
- #include <stdlib.h>
- #include <time.h>
- #include <stdint.h>
- #include "log_define.h"
- #include "log_util.h"
- #include "log_producer_config.h"
- #include "libsharequeue.h"
- #ifndef _WIN32
- #ifndef MAX_PATH
- #define MAX_PATH 260
- #endif
- #endif
- LOG_CPP_START
- typedef enum {
- LOG_TYPE_USER_SKYEYE, LOG_TYPE_SYS_SKYEYE, LOG_TYPE_BEIDOU, LOG_TYPE_USER_BUSINESS, LOG_TYPE_SYS_BUSINESS, LOG_TYPE_WEBSDK
- }build_type_e;
- typedef struct _lz4_log_buf {
- build_type_e type;
- char modular[MAX_PATH];
- int n_logs;
- char uuid[MAX_LOG_COUNT][MAX_UUID_LEN];
- int length;
- int raw_length;
- unsigned char data[0];
- }lz4_log_buf;
- typedef struct _build_item {
- build_type_e type;
- LOG_LEVEL_E level;
- char uuid[MAX_UUID_LEN];
- uint32_t buffer_len;
- char* buffer;
- int check;
- }build_item;
- typedef struct _log_group {
- build_item logs[MAX_LOG_COUNT];
- int n_logs;
- }log_group;
- typedef struct _log_group_builder {
- log_group* grp;
- int loggroup_size;
- void* private_value;
- uint32_t builder_time;
- log_producer_config* config;
- char modular[MAX_PATH];
- }log_group_builder;
- typedef struct _log_buffer {
- build_type_e type;
- char modular[MAX_PATH];
- int n_logs;
- char uuid[MAX_LOG_COUNT][MAX_UUID_LEN];
- char* buffer;
- uint32_t n_buffer;
- }log_buf;
- typedef struct _serialize_buf {
- build_type_e type;
- LOG_LEVEL_E level;
- char uuid[MAX_UUID_LEN];
- uint32_t buffer_len;
- char buffer[MAX_SHAREQNODE_SIZE - MAX_UUID_LEN - 64];
- }serialize_buf;
- extern log_group_builder* log_group_create(log_producer_config* config);
- extern log_group_builder* log_group_clone(log_group_builder* bder);
- extern void log_group_destroy(log_group_builder* bder);
- extern int add_log(log_group_builder* bder, long start_time, uint32_t pack_index, log_item* log, long record_time);
- extern int add_beidou_log(log_group_builder* bder, beidou_log_item* log);
- extern int add_log_raw(log_group_builder* bder, build_item* log);
- extern int add_log_serialize_buf(log_group_builder* bder, serialize_buf* buffer);
- extern void add_log_terminal_no(log_group_builder* bder, char* no);
- extern void clear_errJson_msg(log_group_builder* bder);
- extern void add_log_terminal_sn_other(log_group_builder* bder, char* sn, char *clientIP);//add other params, decrease create new functions
- extern build_item* log_group_get_last(log_group_builder* bder);
- extern void log_group_clear_last(log_group_builder* bder);
- extern lz4_log_buf* serialize_to_proto_buf_with_malloc_lz4(log_group_builder* bder);
- extern lz4_log_buf* serialize_to_proto_buf_with_malloc_no_lz4(log_group_builder* bder);
- extern void free_lz4_log_buf(lz4_log_buf* pBuf);
- extern void serialize_to_buf(build_item* log, serialize_buf* buf);
- LOG_CPP_END
- #endif /* log_builder_h */
|