ccubes-cl/logging.h

75 lines
1.6 KiB
C
Raw Normal View History

2025-03-20 19:32:25 +02:00
/*
* Copyright (c) 2012, Marius Barbu <msb@avengis.com>
* Copyright (c) 2013, Paul Irofti <paul@irofti.net>
*/
#ifndef LOGGING_H__
#define LOGGING_H__
enum LogLevel {
LOG_LEVEL_INFO,
LOG_LEVEL_DEBUG,
LOG_LEVEL_WARN,
LOG_LEVEL_ERROR,
LOG_LEVEL_DISABLE,
};
enum LogLevel log_level(char *id);
void log_message_raw(enum LogLevel l, char *id, char *fmt, ...);
void log_message(enum LogLevel l, char *where, int line, char *id,
char *fmt, ...);
#define log_info(id, ...) \
do { \
int enabled = log_level(id) <= LOG_LEVEL_INFO; \
if (enabled) { \
log_message(LOG_LEVEL_INFO, __FILE__, __LINE__, \
id, __VA_ARGS__); \
} \
} while (0)
#define log_info_raw(id, ...) \
do { \
int enabled = log_level(id) <= LOG_LEVEL_INFO; \
if (enabled) { \
log_message_raw(LOG_LEVEL_INFO, \
id, __VA_ARGS__); \
} \
} while (0)
#define log_debug(id, ...) \
do { \
int enabled = log_level(id) <= LOG_LEVEL_DEBUG; \
if (enabled) { \
log_message(LOG_LEVEL_DEBUG, __FILE__, __LINE__, \
id, __VA_ARGS__); \
} \
} while (0)
#define log_debug_raw(id, ...) \
do { \
int enabled = log_level(id) <= LOG_LEVEL_DEBUG; \
if (enabled) { \
log_message_raw(LOG_LEVEL_DEBUG, \
id, __VA_ARGS__); \
} \
} while (0)
#define log_warn(id, ...) \
log_message(LOG_LEVEL_WARN, __FILE__, __LINE__, \
id, __VA_ARGS__)
#define log_warn_raw(id, ...) \
log_message_raw(LOG_LEVEL_WARN, \
id, __VA_ARGS__)
#define log_error(id, ...) \
log_message(LOG_LEVEL_ERROR, __FILE__, __LINE__, \
id, __VA_ARGS__)
#define log_error_raw(id, ...) \
log_message(LOG_LEVEL_ERROR, \
id, __VA_ARGS__)
#endif /* LOGGING_H__ */