среда, 21 августа 2013 г.

logger levels

logger levels
/** Добавим уровни логов в наш класс logger из предыдущего поста. */
enum level_t { level_error, level_debug, };

/** уровень лога по умолчанию */
level_t log_level = level_error;

/** макросы? фууу! нет времени объяснять, объясню позже зачем */
#define LOG_LEVEL(LEVEL) if (LEVEL <= log_level) LOG
#define LOG_ERROR LOG_LEVEL(level_error) << "ERROR: "
#define LOG_DEBUG LOG_LEVEL(level_debug) << "DEBUG: "

/** Использование: первая строчка выведется, а вторая нет, потому что уровень лога: level_error */
LOG_ERROR << "Hello, world! " << 1;
LOG_DEBUG << "Hello, world! " << 2;

Комментариев нет:

Отправить комментарий