82 lines
2.7 KiB
C
82 lines
2.7 KiB
C
|
#ifndef COLOR_LOG_H
|
||
|
#define COLOR_LOG_H
|
||
|
|
||
|
// termial color code
|
||
|
#define LOG_COLOR_CODE_DEFAULT "\x1B[0m"
|
||
|
#define LOG_COLOR_CODE_BLACK "\x1B[1;30m"
|
||
|
#define LOG_COLOR_CODE_RED "\x1B[1;31m"
|
||
|
#define LOG_COLOR_CODE_GREEN "\x1B[1;32m"
|
||
|
#define LOG_COLOR_CODE_YELLOW "\x1B[1;33m"
|
||
|
#define LOG_COLOR_CODE_BLUE "\x1B[1;34m"
|
||
|
#define LOG_COLOR_CODE_MAGENTA "\x1B[1;35m"
|
||
|
#define LOG_COLOR_CODE_CYAN "\x1B[1;36m"
|
||
|
#define LOG_COLOR_CODE_WHITE "\x1B[1;37m"
|
||
|
|
||
|
#ifdef _FILE_TAG_
|
||
|
#include "hal_trace.h"
|
||
|
//E W D I V android log format
|
||
|
//can use https://atom.io/packages/language-log more readable and Colourful
|
||
|
//usage
|
||
|
// ----------how to use
|
||
|
// 1. define _FILE_TAG_ "filename you needed"
|
||
|
// 2. include pbap_log.h
|
||
|
// ----------how to disable
|
||
|
// 1.comment the _FILE_TAG_ in the file you need to disable
|
||
|
|
||
|
#ifdef DEBUG
|
||
|
|
||
|
#define LOG_N(num,...) TRACE_NOCRLF(num,__VA_ARGS__)
|
||
|
|
||
|
|
||
|
#define LOG_E(num,s,...) do{ \
|
||
|
LOG_N(num,"E/%s %s()- %04d:",_FILE_TAG_,__FUNCTION__,__LINE__); \
|
||
|
LOG_N(num,s,##__VA_ARGS__);\
|
||
|
LOG_N(num,"\n");\
|
||
|
}while(0)
|
||
|
|
||
|
#define LOG_W(num,s,...) do{ \
|
||
|
LOG_N(num,"W/%s %s()- %04d:",_FILE_TAG_,__FUNCTION__,__LINE__); \
|
||
|
LOG_N(num,s,##__VA_ARGS__);\
|
||
|
LOG_N(num,"\n");\
|
||
|
}while(0)
|
||
|
#define LOG_D(num,s,...) do{ \
|
||
|
LOG_N(num,"D/%s %s()- %04d:",_FILE_TAG_,__FUNCTION__,__LINE__); \
|
||
|
LOG_N(num,s,##__VA_ARGS__);\
|
||
|
LOG_N(num,"\n");\
|
||
|
}while(0)
|
||
|
#define LOG_I(num,s,...) do{ \
|
||
|
LOG_N(num,"I/%s %s()- %04d:",_FILE_TAG_,__FUNCTION__,__LINE__); \
|
||
|
LOG_N(num,s,##__VA_ARGS__);\
|
||
|
LOG_N(num,"\n");\
|
||
|
}while(0)
|
||
|
#define LOG_V(num,s,...) do{ \
|
||
|
LOG_N(num,"V/%s %s()- %04d:",_FILE_TAG_,__FUNCTION__,__LINE__); \
|
||
|
LOG_N(num,s,##__VA_ARGS__);\
|
||
|
LOG_N(num,"\n");\
|
||
|
}while(0)
|
||
|
#else
|
||
|
static inline void color_log_dummy(const char *fmt, ...) { }
|
||
|
#define LOG_N(...) color_log_dummy(##__VA_ARGS__)
|
||
|
#define LOG_E(s,...) color_log_dummy(s,##__VA_ARGS__)
|
||
|
#define LOG_W(s,...) color_log_dummy(s,##__VA_ARGS__)
|
||
|
#define LOG_D(s,...) color_log_dummy(s,##__VA_ARGS__)
|
||
|
#define LOG_I(s,...) color_log_dummy(s,##__VA_ARGS__)
|
||
|
#define LOG_V(s,...) color_log_dummy(s,##__VA_ARGS__)
|
||
|
|
||
|
#endif
|
||
|
|
||
|
#else
|
||
|
|
||
|
#define LOG_N(...) ((void*)0)
|
||
|
#define LOG_E(s,...) ((void*)0)
|
||
|
#define LOG_W(s,...) ((void*)0)
|
||
|
#define LOG_D(s,...) ((void*)0)
|
||
|
#define LOG_I(s,...) ((void*)0)
|
||
|
#define LOG_V(s,...) ((void*)0)
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#endif
|
||
|
|