| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef ETHOSU_LOG_H |
| #define ETHOSU_LOG_H |
|
|
| |
| |
| |
|
|
| #include <stdio.h> |
| #include <string.h> |
|
|
| |
| |
| |
|
|
| |
| #define ETHOSU_LOG_ERR 0 |
| #define ETHOSU_LOG_WARN 1 |
| #define ETHOSU_LOG_INFO 2 |
| #define ETHOSU_LOG_DEBUG 3 |
|
|
| |
| #ifndef ETHOSU_LOG_SEVERITY |
| #define ETHOSU_LOG_SEVERITY ETHOSU_LOG_WARN |
| #endif |
|
|
| |
| #ifndef ETHOSU_LOG_ENABLE |
| #define ETHOSU_LOG_ENABLE 1 |
| #endif |
|
|
| #if ETHOSU_LOG_ENABLE |
| #define LOG_COMMON(s, f, ...) (void)fprintf(s, f, ##__VA_ARGS__) |
| #else |
| #define LOG_COMMON(s, f, ...) |
| #endif |
|
|
| |
| #define LOG(f, ...) LOG_COMMON(stdout, f, ##__VA__ARGS__) |
|
|
| #if ETHOSU_LOG_SEVERITY >= ETHOSU_LOG_ERR |
| #define LOG_ERR(f, ...) \ |
| LOG_COMMON(stderr, "E: " f " (%s:%d)\n", ##__VA_ARGS__, strrchr("/" __FILE__, '/') + 1, __LINE__) |
| #else |
| #define LOG_ERR(f, ...) |
| #endif |
|
|
| #if ETHOSU_LOG_SEVERITY >= ETHOSU_LOG_WARN |
| #define LOG_WARN(f, ...) LOG_COMMON(stdout, "W: " f "\n", ##__VA_ARGS__) |
| #else |
| #define LOG_WARN(f, ...) |
| #endif |
|
|
| #if ETHOSU_LOG_SEVERITY >= ETHOSU_LOG_INFO |
| #define LOG_INFO(f, ...) LOG_COMMON(stdout, "I: " f "\n", ##__VA_ARGS__) |
| #else |
| #define LOG_INFO(f, ...) |
| #endif |
|
|
| #if ETHOSU_LOG_SEVERITY >= ETHOSU_LOG_DEBUG |
| #define LOG_DEBUG(f, ...) LOG_COMMON(stdout, "D: %s(): " f "\n", __FUNCTION__, ##__VA_ARGS__) |
| #else |
| #define LOG_DEBUG(f, ...) |
| #endif |
|
|
| #endif |
|
|