src/log.h
changeset 22 c339c020fd33
parent 21 0911d0b828d4
child 73 2780a73c71f3
equal deleted inserted replaced
21:0911d0b828d4 22:c339c020fd33
    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 */