O-CU-UP
[scp/ocu/5gnr.git] / Include / plat_syslog.h
diff --git a/Include/plat_syslog.h b/Include/plat_syslog.h
new file mode 100644 (file)
index 0000000..a17d119
--- /dev/null
@@ -0,0 +1,81 @@
+/******************************************************************************
+###############################################################################
+#   Copyright (c) [2017-2020] [ICT/CAS]                                        #
+#   Licensed under the ORAN Software License v1.0 (License)             #
+###############################################################################
+******************************************************************************/
+
+
+#ifndef PLATFORM_INCLUDE_PLAT_SYSLOG_H_
+#define PLATFORM_INCLUDE_PLAT_SYSLOG_H_
+
+#include "vos_common.h"
+
+/** 日志等级  */
+typedef enum _tag_SYSLOG_LEVEL
+{
+       SYSLOG_CRIT = 1,        ///<  critical conditions 
+       SYSLOG_ERR,             ///<  error conditions 
+       SYSLOG_WARNING,         ///<  warning conditions 
+       SYSLOG_INFO,            ///<  informational 
+       SYSLOG_DEBUG,           ///<  debug info
+       VOS_SYSLOGLEVELS_NUM    ///<  max 
+}SYSLOG_LEVEL;
+
+
+/** 
+ * 日志记录
+ * @param[in]   module_id   模块ID
+ * @param[in]   iLog_Level  Log等级
+ * @param[in]   content     Log内容,fmt字符串
+ * @param[in]   arg...      fmt中要输出的变量
+ * @return      无
+ */
+#define VOS_log(module_id, iLog_Level, content,...)\
+           VOS_SysLog(module_id, iLog_Level, __FILE__, __LINE__, __func__, content,##__VA_ARGS__);
+
+
+/** 
+ * 指定参数日志记录,只支持打印 %d 类型,传参必须为INT
+ * @param[in]   module_id   模块ID
+ * @param[in]   iLog_Level  Log等级
+ * @param[in]   para_no     参数的数量,最多为5
+ * @param[in]   content     Log内容,fmt字符串
+ * @param[in]   arg...      fmt中要输出的变量
+ * @return      无
+ */
+#define VOS_Nlog(module_id, iLog_Level, para_no, content,...) \
+                               VOS_NsysLog(module_id, iLog_Level, __FILE__, __LINE__, __func__, para_no, content,##__VA_ARGS__);
+
+
+/** 
+ * 指定参数日志记录,只支持打印 %ld %lu %lx 类型,传参必须为LONG ULONG
+ * @param[in]   module_id   模块ID
+ * @param[in]   iLog_Level  Log等级
+ * @param[in]   para_no     参数的数量,最多为5
+ * @param[in]   content     Log内容,fmt字符串
+ * @param[in]   arg...      fmt中要输出的变量
+ * @return      无
+ */
+#define VOS_Nlog2(module_id, iLog_Level, para_no, content,...) \
+                VOS_NsysLog_2(module_id, iLog_Level, __FILE__, __LINE__, __func__, para_no, content,##__VA_ARGS__);
+
+
+/** 
+ * 指定参数日志记录,只支持打印 %ld %lu %lx %d %u %x %s 类型
+ * @param[in]   module_id   模块ID
+ * @param[in]   iLog_Level  Log等级
+ * @param[in]   content     Log内容,fmt字符串
+ * @param[in]   arg...      fmt中要输出的变量
+ * @return      无
+ */
+#define VOS_Nlog2ex(module_id, iLog_Level,content,...) \
+                VOS_NsysLog_2ex(module_id, iLog_Level, __FILE__, __LINE__, __func__,content,##__VA_ARGS__);
+
+extern VOID VOS_SysLog(ULONG module_id, ULONG iLog_Level,CONST CHAR *file, LONG lineno,CONST CHAR *func, CONST CHAR *content, ... );
+extern VOID VOS_NsysLog(ULONG module_id, ULONG iLog_Level, CONST CHAR *file, LONG lineno,CONST CHAR *func, UINT para_no, CONST CHAR * content, ... );
+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, ... );
+extern VOID VOS_NsysLog_2ex(ULONG module_id, ULONG iLog_Level,CONST CHAR *file, LONG lineno,CONST CHAR *func,CONST CHAR *content, ... );
+
+
+#endif /* PLATFORM_INCLUDE_PLAT_SYSLOG_H_ */