20 /* |
20 /* |
21 * Output the "[TYPE] FUNC: " header |
21 * Output the "[TYPE] FUNC: " header |
22 */ |
22 */ |
23 void _log_header (enum log_level level, const char *func) |
23 void _log_header (enum log_level level, const char *func) |
24 { |
24 { |
25 printf("[%5s] %s: ", log_level_name(level), func); |
25 printf("[%5s] %20s : ", log_level_name(level), func); |
26 } |
26 } |
27 |
27 |
28 void log_msg (enum log_level level, const char *func, const char *format, ...) |
28 void log_msg (enum log_level level, const char *func, const char *format, ...) |
29 { |
29 { |
30 va_list vargs; |
30 va_list vargs; |
38 |
38 |
39 // newline |
39 // newline |
40 printf("\n"); |
40 printf("\n"); |
41 } |
41 } |
42 |
42 |
43 void _log_err (err_t err, const char *func, const char *format, ...) |
43 void _log_err (enum log_level level, err_t err, const char *func, const char *format, ...) |
44 { |
44 { |
45 va_list vargs; |
45 va_list vargs; |
46 |
46 |
47 // header |
47 // header |
48 _log_header(LOG_ERROR, func); |
48 _log_header(level, func); |
49 |
49 |
50 // formatted output |
50 // formatted output |
51 va_start(vargs, format); |
51 va_start(vargs, format); |
52 vprintf(format, vargs); |
52 vprintf(format, vargs); |
53 va_end(vargs); |
53 va_end(vargs); |
54 |
54 |
55 // err_code and newline |
55 // err_code and newline |
56 printf(": %s\n", error_name(err)); |
56 printf(": %s\n", error_name(err)); |
57 } |
57 } |
58 |
58 |
59 void _log_err_info (struct error_info *err, const char *func, const char *format, ...) |
59 void _log_err_info (enum log_level level, struct error_info *err, const char *func, const char *format, ...) |
60 { |
60 { |
61 va_list vargs; |
61 va_list vargs; |
62 |
62 |
63 // header |
63 // header |
64 _log_header(LOG_ERROR, func); |
64 _log_header(level, func); |
65 |
65 |
66 // formatted output |
66 // formatted output |
67 va_start(vargs, format); |
67 va_start(vargs, format); |
68 vprintf(format, vargs); |
68 vprintf(format, vargs); |
69 va_end(vargs); |
69 va_end(vargs); |