Add a FATAL ERROR log level
For errors that cause compton to quit Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
537831abfc
commit
fc57c7b55b
|
@ -50,6 +50,7 @@ static attr_const const char *log_level_to_string(enum log_level level) {
|
||||||
case LOG_LEVEL_INFO: return "INFO";
|
case LOG_LEVEL_INFO: return "INFO";
|
||||||
case LOG_LEVEL_WARN: return "WARN";
|
case LOG_LEVEL_WARN: return "WARN";
|
||||||
case LOG_LEVEL_ERROR: return "ERROR";
|
case LOG_LEVEL_ERROR: return "ERROR";
|
||||||
|
case LOG_LEVEL_FATAL: return "FATAL ERROR";
|
||||||
default: assert(false);
|
default: assert(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -93,13 +94,13 @@ void log_destroy(struct log *l) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void log_set_level(struct log *l, int level) {
|
void log_set_level(struct log *l, int level) {
|
||||||
assert(level < LOG_LEVEL_INVALID && level > 0);
|
assert(level <= LOG_LEVEL_FATAL && level >= 0);
|
||||||
l->log_level = level;
|
l->log_level = level;
|
||||||
}
|
}
|
||||||
|
|
||||||
attr_printf(4, 5) void log_printf(struct log *l, int level, const char *func,
|
attr_printf(4, 5) void log_printf(struct log *l, int level, const char *func,
|
||||||
const char *fmt, ...) {
|
const char *fmt, ...) {
|
||||||
assert(level < LOG_LEVEL_INVALID && level > 0);
|
assert(level <= LOG_LEVEL_FATAL && level >= 0);
|
||||||
if (level < l->log_level)
|
if (level < l->log_level)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -208,6 +209,7 @@ const char *terminal_colorize_begin(enum log_level level) {
|
||||||
case LOG_LEVEL_INFO: return ANSI("92");
|
case LOG_LEVEL_INFO: return ANSI("92");
|
||||||
case LOG_LEVEL_WARN: return ANSI("33");
|
case LOG_LEVEL_WARN: return ANSI("33");
|
||||||
case LOG_LEVEL_ERROR: return ANSI("31;1");
|
case LOG_LEVEL_ERROR: return ANSI("31;1");
|
||||||
|
case LOG_LEVEL_FATAL: return ANSI("30;103;1");
|
||||||
default: assert(false);
|
default: assert(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,12 +8,13 @@
|
||||||
#include "compiler.h"
|
#include "compiler.h"
|
||||||
|
|
||||||
enum log_level {
|
enum log_level {
|
||||||
|
LOG_LEVEL_INVALID = -1,
|
||||||
LOG_LEVEL_TRACE = 0,
|
LOG_LEVEL_TRACE = 0,
|
||||||
LOG_LEVEL_DEBUG,
|
LOG_LEVEL_DEBUG,
|
||||||
LOG_LEVEL_INFO,
|
LOG_LEVEL_INFO,
|
||||||
LOG_LEVEL_WARN,
|
LOG_LEVEL_WARN,
|
||||||
LOG_LEVEL_ERROR,
|
LOG_LEVEL_ERROR,
|
||||||
LOG_LEVEL_INVALID
|
LOG_LEVEL_FATAL,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define LOG(level, x, ...) \
|
#define LOG(level, x, ...) \
|
||||||
|
@ -23,6 +24,7 @@ enum log_level {
|
||||||
#define log_info(x, ...) LOG(INFO, x, ##__VA_ARGS__)
|
#define log_info(x, ...) LOG(INFO, x, ##__VA_ARGS__)
|
||||||
#define log_warn(x, ...) LOG(WARN, x, ##__VA_ARGS__)
|
#define log_warn(x, ...) LOG(WARN, x, ##__VA_ARGS__)
|
||||||
#define log_error(x, ...) LOG(ERROR, x, ##__VA_ARGS__)
|
#define log_error(x, ...) LOG(ERROR, x, ##__VA_ARGS__)
|
||||||
|
#define log_fatal(x, ...) LOG(FATAL, x, ##__VA_ARGS__)
|
||||||
|
|
||||||
/// Print out an error message.
|
/// Print out an error message.
|
||||||
#define printf_err(format, ...) log_error(format, ##__VA_ARGS__)
|
#define printf_err(format, ...) log_error(format, ##__VA_ARGS__)
|
||||||
|
|
Loading…
Reference in New Issue