yb_arm/osp/inc/ospLog.h
2023-07-12 14:14:31 +08:00

113 lines
3.3 KiB
C

#ifndef __OSPLOGH__
#define __OSPLOGH__
#ifdef __cplusplus
extern "C" {
#endif
#include "ospShell.h"
#define LOG_MODE_PATH "./server/logmode"
#define MAX_FILE_SIZE (32*1024*1024)
#define MAX_FILE_NUM (8)
#define MAX_LOG_CFG_NUM (64)
#define FREE_RAM_SIZE (150*1024*1024)
typedef struct tag_osp_log_file_cfg_obj{
uint32_t valied;
char logname[64];
uint32_t max_file_size_M;
uint32_t max_file_num;
uint32_t with_time;
uint32_t cur_sum_len;
FILE* file;
uint32_t cur_file_idx;
uint32_t key;
uint32_t msg_type;
}osp_log_file_cfg;
#if 1
typedef struct OSP_LOG_MSG_INFO
{
int64_t i64msg_type;
uint8_t *pu8msg_addr;
uint32_t u32msg_size;
}osp_log_msg_info_t;
#endif
typedef struct tMsgTransferHeader {
uint8_t numMsg;
uint8_t cellIndex;
uint16_t rsv;
uint32_t msgType;
uint32_t msgLen;
//uint16_t log_size;
//uint16_t rsv;
uint32_t log_size;
uint32_t log_data[0];
} MsgTransferHeader_t;
#define MSG_TRANSFER_LOG_MSG_TYPE (0x124)
#define MSG_TRANSFER_SHELL_MSG_TYPE (0x125)
#define SPU_LOG_CLIENT_BUF_SIZE (512) /* one log: 512Bytes */
#define SYS_LOG_MAX_LEN_OF_MESSAGE (1024)
#define SYS_LOG_UDP_PORT (514)
#if 0
/*SYSLOG_SERV */
#define SYSLOG_SERV_FACILITY (23)
#define SYSLOG_SERV_LEVEL (7)
#endif
#define APE_MSG_LOG_HEAD_SIZE sizeof(osp_sw_msg_info_t)
#define APE_MSG_LOG_LEN(x) (x->u16DataLen - APE_MSG_LOG_HEAD_SIZE)
#define APE_MSG_LOG_HEAD_TO_COMM(x) (char *)((uint64_t)x + APE_MSG_LOG_HEAD_SIZE)
OSP_STATUS osp_dbg_log(char *pbuf, uint32_t buflen);
OSP_STATUS osp_dbg_log_ext(char *pbuf, uint32_t buflen, int32_t LogId);
void osp_dbg_log_main(osp_sw_msg_info_t *pMsg);
OSP_STATUS osp_close_log_file(FILE *fd);
OSP_STATUS osp_write_diaglog(char *pbuf, uint32_t len, uint32_t logid, uint32_t msg_type);
void osp_log_init(void);
int32_t osp_fflush_all_logfile(void);
void osp_get_current_time(void);
void osp_get_msgtype_name(uint32_t msg_type, char *msg_name);
/* change the log out mode: don't use pthread and msgQ */
#if 1
uint8_t osp_log_msg_create(void);
int32_t osp_log_msg_get_id(void);
int32_t osp_log_msg_send(int32_t i32que_id, uint8_t *pu8msg_add, uint32_t u32msg_size);
int32_t osp_log_msg_recv(int32_t i32que_id, uint8_t *pu8msg_add, uint32_t u32max_size);
int32_t osp_log_msg_proc(uint8_t *pu8msg_add, uint32_t u32msg_size);
uint64_t osp_oam_msg_proc_task(void);
#endif
int32_t osp_create_oam_msg_task(uint8_t cpu, uint8_t pri);
uint32_t rx_callback_oam(const char* buf,uint32_t payloadSize);
uint32_t osp_get_ape_port(osp_sw_msg_info_t *pMsg);
int8_t osp_log_mode_init();/*init log out mode*/
bool osp_ip_is_null(char *ip);
bool osp_path_is_null(char *path);
void osp_cfg_default_log_mode(void);
void osp_log_mode_get();
void osp_log_cfg_reload(void);
OSP_STATUS osp_ape_log_proc(osp_sw_msg_info_t *pMsg);
OSP_STATUS osp_arm_log_proc(char *pbuf, uint32_t len ,uint32_t logid, uint32_t msg_type);
void osp_platform_log_proc(osp_sw_msg_info_t *pMsg);
void osp_net_log_proc(char *pMsg, uint32_t len, uint32_t port);
uint32_t osp_filter_char(char *str, char c);
int8_t osp_log_mode_cfg(void);
uint32_t osp_get_freeram(void);
void osp_log_output(unsigned char level, const char *fmt, ...);
void osp_log_print(osp_sw_msg_info_t *pMsg);
#ifdef __cplusplus
}
#endif
#endif