acl/lib_acl/include/stdlib/acl_debug.h

57 lines
1.4 KiB
C

#ifndef ACL_DEBUG_INCLUDE_H
#define ACL_DEBUG_INCLUDE_H
#include "acl_define.h"
#include "acl_msg.h"
#ifdef __cplusplus
extern "C" {
#endif
#define ACL_DEBUG_INTER_BASE 0 /**< 最小调试标签值 */
#define ACL_DEBUG_WQ (ACL_DEBUG_INTER_BASE + 1) /**< ACL_WORKQ 调试标签 */
#define ACL_DEBUG_PROCTL (ACL_DEBUG_INTER_BASE + 2) /**< ACL_PROCTL 调试标签 */
#define ACL_DEBUG_THR_POOL (ACL_DEBUG_INTER_BASE + 3) /**< ACL_PTHREAD_POOL 调试标签 */
#define ACL_DEBUG_EVENT (ACL_DEBUG_INTER_BASE + 4) /**< ACL_EVENT 调度标签 */
/**
* 日志调试宏接口
* @param SECTION {int} 调试标签值
* @param LEVEL {int} 对应于SECTION调试标签的级别
*/
#define acl_debug(SECTION, LEVEL) \
!acl_do_debug((SECTION), (LEVEL)) ? (void) 0 : acl_msg_info
/**
* 释放内部一些内存等资源
*/
ACL_API void acl_debug_end(void);
/**
* 初始化日志调试调用接口
* @param ptr {const char*} 调试标签及级别字符串,
* 格式: 1:1, 2:10, 3:8... or 1:1; 2:10; 3:8...
*/
ACL_API void acl_debug_init(const char *ptr);
/**
* 初始化日志调试调用接口
* @param ptr {const char*} 调试标签及级别字符串,
* 格式: 1:1, 2:10, 3:8... or 1:1; 2:10; 3:8...
* @param max_debug_level {int} 最大调试标签值
*/
ACL_API void acl_debug_init2(const char *ptr, int max_debug_level);
/**
* 判断给定标签的级别是否在日志输出条件范围内
* @param section {int} 标签值
* @param level {int} 级别值
*/
ACL_API int acl_do_debug(int section, int level);
#ifdef __cplusplus
}
#endif
#endif