36 #define log_fatal(...) log_msg(LOG_FATAL, __func__, __VA_ARGS__) |
36 #define log_fatal(...) log_msg(LOG_FATAL, __func__, __VA_ARGS__) |
37 |
37 |
38 /** |
38 /** |
39 * Log a message with LOG_ERROR, appending the formatted error code |
39 * Log a message with LOG_ERROR, appending the formatted error code |
40 */ |
40 */ |
41 void _log_err (err_t err, const char *func, const char *format, ...) |
41 void _log_err (enum log_level level, err_t err, const char *func, const char *format, ...) |
42 __attribute__ ((format (printf, 3, 4))); |
42 __attribute__ ((format (printf, 4, 5))); |
43 |
43 |
44 void _log_err_info (struct error_info *err, const char *func, const char *format, ...) |
44 void _log_err_info (enum log_level level, struct error_info *err, const char *func, const char *format, ...) |
45 __attribute__ ((format (printf, 3, 4))); |
45 __attribute__ ((format (printf, 4, 5))); |
46 |
46 |
47 #define log_err(err, ...) _log_err(err, __func__, __VA_ARGS__) |
47 #define log_err(err, ...) _log_err(LOG_ERROR, err, __func__, __VA_ARGS__) |
48 #define log_err_info(err_info, ...) _log_err_info(err_info, __func__, __VA_ARGS__) |
48 #define log_err_info(err_info, ...) _log_err_info(LOG_ERROR, err_info, __func__, __VA_ARGS__) |
49 |
49 |
50 /* |
50 /* |
51 * log_fatal + exit failure |
51 * log_fatal + exit failure |
52 */ |
52 */ |
53 #define FATAL(...) do { log_fatal(__VA_ARGS__); exit(EXIT_FAILURE); } while (0) |
53 #define FATAL(...) do { log_fatal(__VA_ARGS__); exit(EXIT_FAILURE); } while (0) |
54 |
54 |
55 /* |
55 /* |
|
56 * log_err + exit failure |
|
57 */ |
|
58 #define FATAL_ERR(err_code, ...) do { _log_err(LOG_FATAL, err_code, __func__, __VA_ARGS__); exit(EXIT_FAILURE); } while (0) |
|
59 |
|
60 /* |
56 * log_err_info + exit failure |
61 * log_err_info + exit failure |
57 */ |
62 */ |
58 #define FATAL_ERROR(err, ...) do { log_err_info(err, __VA_ARGS__); exit(EXIT_FAILURE); } while (0) |
63 #define FATAL_ERROR(err_info, ...) do { _log_err_info(LOG_FATAL, err_info, __func__, __VA_ARGS__); exit(EXIT_FAILURE); } while (0) |
59 |
64 |
60 #endif /* LOG_H */ |
65 #endif /* LOG_H */ |