#ifndef _SR_BSP_LOG_H
#define _SR_BSP_LOG_H

#include "sr_config.h"

#ifdef SR_USE_LOG

#include "sr_stddef.h"

#include <stdio.h>
#include <stdarg.h>



extern int _BspLogPrintf(uint8_t level,char *fmt, ...);

extern void luat_debug_print(const char *fmt, ...);
#define BSP_PRINTF(fmt, argv...)         luat_debug_print(fmt, ##argv)
#define BSP_DEBUG_PRINTF(fmt, argv...)   luat_debug_print("%s %d:" fmt, __FUNCTION__, __LINE__, ##argv)



/**  
 * @brief BSP LOG打印函数,基于模组原厂打印实现
 * 支持级别过滤、颜色区分(需要显示终端支持)
 *  
 * @param[in] level  日志级别，SR_LOG_LVL_E类型
 * @param[in] fmt    格式化字符串
 * @param[in] ...    可变参数
 *
 * @return >0成功，负值失败
 */ 
#define BSP_LOG(level,fmt, ...)  _BspLogPrintf(level,"%s"   "%s" "(%s:%d) " NONE fmt "\r\n",g_levelColor[level],_TOSTINNG([level]),__func__,__LINE__,##__VA_ARGS__)



#else   //不使用log组件

#define BSP_LOG(level,fmt, ...) 


#endif

#endif


