- 下記のようなマクロを使用してログ出力のレベルを制御する。
- さらに細かく、FATAL(致命的なエラー)、ERROR(エラー)、WARN(警告)、INFO(情報)、DEBUG(デバッグ情報)、TRACE(トレース情報)のように分けてもよい。
#define DEBUG_LOG_LEVEL 2
#if DEBUG_LOG_LEVEL >= 4
#define DEBUG_LOG_TRACE(fmt, ...) printf("[TRACE]" fmt, ##__VA_ARGS__)
#else
#define DEBUG_LOG_TRACE(fmt, ...)
#endif
#if DEBUG_LOG_LEVEL >= 3
#define DEBUG_LOG_DEBUG(fmt, ...) printf("[DEBUG]" fmt, ##__VA_ARGS__)
#else
#define DEBUG_LOG_DEBUG(fmt, ...)
#endif
#if DEBUG_LOG_LEVEL >= 2
#define DEBUG_LOG_INFO(fmt, ...) printf("[INFO]" fmt, ##__VA_ARGS__)
#else
#define DEBUG_LOG_INFO(fmt, ...)
#endif
#if DEBUG_LOG_LEVEL >= 1
#define DEBUG_LOG_ERROR(fmt, ...) printf("[ERROR]" fmt, ##__VA_ARGS__)
#else
#define DEBUG_LOG_ERROR(fmt, ...)
#endif