a17d1196f1b487f358b69868435b8ade1f9dfc70
[scp/ocu/5gnr.git] / Include / plat_syslog.h
1 /******************************************************************************
2 ###############################################################################
3 #   Copyright (c) [2017-2020] [ICT/CAS]                                        #
4 #   Licensed under the ORAN Software License v1.0 (License)             #
5 ###############################################################################
6 ******************************************************************************/
7
8
9 #ifndef PLATFORM_INCLUDE_PLAT_SYSLOG_H_
10 #define PLATFORM_INCLUDE_PLAT_SYSLOG_H_
11
12 #include "vos_common.h"
13
14 /** 日志等级  */
15 typedef enum _tag_SYSLOG_LEVEL
16 {
17         SYSLOG_CRIT = 1,        ///<  critical conditions 
18         SYSLOG_ERR,             ///<  error conditions 
19         SYSLOG_WARNING,         ///<  warning conditions 
20         SYSLOG_INFO,            ///<  informational 
21         SYSLOG_DEBUG,           ///<  debug info
22         VOS_SYSLOGLEVELS_NUM    ///<  max 
23 }SYSLOG_LEVEL;
24
25
26 /** 
27  * 日志记录
28  * @param[in]   module_id   模块ID
29  * @param[in]   iLog_Level  Log等级
30  * @param[in]   content     Log内容,fmt字符串
31  * @param[in]   arg...      fmt中要输出的变量
32  * @return      无
33  */
34 #define VOS_log(module_id, iLog_Level, content,...)\
35             VOS_SysLog(module_id, iLog_Level, __FILE__, __LINE__, __func__, content,##__VA_ARGS__);
36
37
38 /** 
39  * 指定参数日志记录,只支持打印 %d 类型,传参必须为INT
40  * @param[in]   module_id   模块ID
41  * @param[in]   iLog_Level  Log等级
42  * @param[in]   para_no     参数的数量,最多为5
43  * @param[in]   content     Log内容,fmt字符串
44  * @param[in]   arg...      fmt中要输出的变量
45  * @return      无
46  */
47 #define VOS_Nlog(module_id, iLog_Level, para_no, content,...) \
48                                 VOS_NsysLog(module_id, iLog_Level, __FILE__, __LINE__, __func__, para_no, content,##__VA_ARGS__);
49
50
51 /** 
52  * 指定参数日志记录,只支持打印 %ld %lu %lx 类型,传参必须为LONG ULONG
53  * @param[in]   module_id   模块ID
54  * @param[in]   iLog_Level  Log等级
55  * @param[in]   para_no     参数的数量,最多为5
56  * @param[in]   content     Log内容,fmt字符串
57  * @param[in]   arg...      fmt中要输出的变量
58  * @return      无
59  */
60 #define VOS_Nlog2(module_id, iLog_Level, para_no, content,...) \
61                 VOS_NsysLog_2(module_id, iLog_Level, __FILE__, __LINE__, __func__, para_no, content,##__VA_ARGS__);
62
63
64 /** 
65  * 指定参数日志记录,只支持打印 %ld %lu %lx %d %u %x %s 类型
66  * @param[in]   module_id   模块ID
67  * @param[in]   iLog_Level  Log等级
68  * @param[in]   content     Log内容,fmt字符串
69  * @param[in]   arg...      fmt中要输出的变量
70  * @return      无
71  */
72 #define VOS_Nlog2ex(module_id, iLog_Level,content,...) \
73                 VOS_NsysLog_2ex(module_id, iLog_Level, __FILE__, __LINE__, __func__,content,##__VA_ARGS__);
74
75 extern VOID VOS_SysLog(ULONG module_id, ULONG iLog_Level,CONST CHAR *file, LONG lineno,CONST CHAR *func, CONST CHAR *content, ... );
76 extern VOID VOS_NsysLog(ULONG module_id, ULONG iLog_Level, CONST CHAR *file, LONG lineno,CONST CHAR *func, UINT para_no, CONST CHAR * content, ... );
77 extern VOID VOS_NsysLog_2(ULONG module_id, ULONG iLog_Level,CONST CHAR *file, LONG lineno,CONST CHAR *func,UINT para_no,CONST CHAR *content, ... );
78 extern VOID VOS_NsysLog_2ex(ULONG module_id, ULONG iLog_Level,CONST CHAR *file, LONG lineno,CONST CHAR *func,CONST CHAR *content, ... );
79
80
81 #endif /* PLATFORM_INCLUDE_PLAT_SYSLOG_H_ */