2010-09-17 23:28:23 +03:00
|
|
|
|
|
|
|
#ifndef DEBUG_H
|
|
|
|
#define DEBUG_H
|
|
|
|
|
2011-04-13 02:51:23 +03:00
|
|
|
#include <cstdio>
|
|
|
|
|
2010-09-17 23:28:23 +03:00
|
|
|
#define NODEBUG_L 0
|
|
|
|
#define ERROR_L 1
|
|
|
|
#define WARNING_L 2
|
|
|
|
#define INFO_L 3
|
|
|
|
#define DEBUG_L 4
|
|
|
|
|
|
|
|
#ifndef LOG_LEVEL
|
|
|
|
#define LOG_LEVEL INFO_L
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// -------------
|
|
|
|
|
|
|
|
#ifndef COLOR_DEBUG
|
|
|
|
#define COLOR_DEBUG "\e[0;34m"
|
|
|
|
#endif
|
|
|
|
#ifndef COLOR_WARNING
|
|
|
|
#define COLOR_WARNING "\e[01;33m"
|
|
|
|
#endif
|
|
|
|
#ifndef COLOR_ERROR
|
|
|
|
#define COLOR_ERROR "\e[01;31m"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define COLOR_END "\e[0m"
|
|
|
|
|
|
|
|
#if (LOG_LEVEL >= DEBUG_L)
|
|
|
|
# ifdef COLOR_DEBUG
|
|
|
|
# define DEBUG(str, ...) \
|
|
|
|
fprintf(stdout, COLOR_DEBUG "DEBUG: " str COLOR_END, ##__VA_ARGS__)
|
|
|
|
# else
|
|
|
|
# define DEBUG(...) \
|
|
|
|
fprintf(stdout, "DEBUG: " __VA_ARGS__)
|
|
|
|
# endif
|
|
|
|
#else
|
|
|
|
#define DEBUG(...)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (LOG_LEVEL >= INFO_L)
|
|
|
|
# ifdef COLOR_INFO
|
|
|
|
# define INFO(str, ...) \
|
|
|
|
fprintf(stdout, COLOR_INFO str COLOR_END, ##__VA_ARGS__)
|
|
|
|
# else
|
|
|
|
# define INFO(...) \
|
|
|
|
fprintf(stdout, __VA_ARGS__)
|
|
|
|
# endif
|
|
|
|
#else
|
|
|
|
#define INFO(...)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (LOG_LEVEL >= WARNING_L)
|
|
|
|
# ifdef COLOR_WARNING
|
|
|
|
# define WARNING(str, ...) \
|
|
|
|
fprintf(stderr, COLOR_WARNING "WARNING: " str COLOR_END, ##__VA_ARGS__)
|
|
|
|
# else
|
|
|
|
# define WARNING(...) \
|
|
|
|
fprintf(stderr, "WARNING: " __VA_ARGS__)
|
|
|
|
# endif
|
|
|
|
#else
|
|
|
|
#define WARNING(...)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (LOG_LEVEL >= ERROR_L)
|
|
|
|
# ifdef COLOR_ERROR
|
|
|
|
# define ERROR(str, ...) \
|
|
|
|
fprintf(stderr, COLOR_ERROR "ERROR: " str COLOR_END, ##__VA_ARGS__)
|
|
|
|
# else
|
|
|
|
# define ERROR(...) \
|
|
|
|
fprintf(stderr, "ERROR: " __VA_ARGS__)
|
|
|
|
# endif
|
|
|
|
#else
|
|
|
|
#define ERROR(...)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|