123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #ifndef LIBAOS_LOG_H
- #define LIBAOS_LOG_H
- #include "aos_define.h"
- AOS_CPP_START
- typedef void (*aos_log_print_pt)(const char *message, int len);
- typedef void (*aos_log_format_pt)(int level,
- const char *file,
- int line,
- const char *function,
- const char *fmt, ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));
- void aos_log_set_print(aos_log_print_pt p);
- void aos_log_set_format(aos_log_format_pt p);
- typedef enum {
- AOS_LOG_OFF = 1,
- AOS_LOG_FATAL,
- AOS_LOG_ERROR,
- AOS_LOG_WARN,
- AOS_LOG_INFO,
- AOS_LOG_DEBUG,
- AOS_LOG_TRACE,
- AOS_LOG_ALL
- } aos_log_level_e;
- #ifdef WIN32
- #define aos_fatal_log(format, ...) if(aos_log_level>=AOS_LOG_FATAL) \
- aos_log_format(AOS_LOG_FATAL, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__)
- #define aos_error_log(format, ...) if(aos_log_level>=AOS_LOG_ERROR) \
- aos_log_format(AOS_LOG_ERROR, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__)
- #define aos_warn_log(format, ...) if(aos_log_level>=AOS_LOG_WARN) \
- aos_log_format(AOS_LOG_WARN, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__)
- #define aos_info_log(format, ...) if(aos_log_level>=AOS_LOG_INFO) \
- aos_log_format(AOS_LOG_INFO, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__)
- #define aos_debug_log(format, ...) if(aos_log_level>=AOS_LOG_DEBUG) \
- aos_log_format(AOS_LOG_DEBUG, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__)
- #define aos_trace_log(format, ...) if(aos_log_level>=AOS_LOG_TRACE) \
- aos_log_format(AOS_LOG_TRACE, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__)
- #else
- #define aos_fatal_log(format, args...) if(aos_log_level>=AOS_LOG_FATAL) \
- aos_log_format(AOS_LOG_FATAL, __FILE__, __LINE__, __FUNCTION__, format, ## args)
- #define aos_error_log(format, args...) if(aos_log_level>=AOS_LOG_ERROR) \
- aos_log_format(AOS_LOG_ERROR, __FILE__, __LINE__, __FUNCTION__, format, ## args)
- #define aos_warn_log(format, args...) if(aos_log_level>=AOS_LOG_WARN) \
- aos_log_format(AOS_LOG_WARN, __FILE__, __LINE__, __FUNCTION__, format, ## args)
- #define aos_info_log(format, args...) if(aos_log_level>=AOS_LOG_INFO) \
- aos_log_format(AOS_LOG_INFO, __FILE__, __LINE__, __FUNCTION__, format, ## args)
- #define aos_debug_log(format, args...) if(aos_log_level>=AOS_LOG_DEBUG) \
- aos_log_format(AOS_LOG_DEBUG, __FILE__, __LINE__, __FUNCTION__, format, ## args)
- #define aos_trace_log(format, args...) if(aos_log_level>=AOS_LOG_TRACE) \
- aos_log_format(AOS_LOG_TRACE, __FILE__, __LINE__, __FUNCTION__, format, ## args)
- #endif
- void aos_log_set_level(aos_log_level_e level);
- void aos_log_set_output(apr_file_t *output);
- void aos_log_print_default(const char *message, int len);
- void aos_log_format_default(int level,
- const char *file,
- int line,
- const char *function,
- const char *fmt, ...)
- __attribute__ ((__format__ (__printf__, 5, 6)));
- extern aos_log_level_e aos_log_level;
- extern aos_log_format_pt aos_log_format;
- extern aos_log_format_pt aos_log_format;
- AOS_CPP_END
- #endif
|