feat: allow setting log level
							parent
							
								
									eff1b13065
								
							
						
					
					
						commit
						3b1df332a3
					
				|  | @ -6,6 +6,8 @@ | ||||||
| #include <string.h> | #include <string.h> | ||||||
| #include <unistd.h> | #include <unistd.h> | ||||||
| 
 | 
 | ||||||
|  | extern const char *log_level_names[]; | ||||||
|  | 
 | ||||||
| typedef enum log_level { | typedef enum log_level { | ||||||
|   log_level_debug = 0, |   log_level_debug = 0, | ||||||
|   log_level_info = 1, |   log_level_info = 1, | ||||||
|  | @ -14,10 +16,12 @@ typedef enum log_level { | ||||||
|   log_level_critical = 4, |   log_level_critical = 4, | ||||||
| } log_level; | } log_level; | ||||||
| 
 | 
 | ||||||
| extern const char *log_level_names[]; | extern log_level _log_level; | ||||||
| 
 | 
 | ||||||
| void _lander_log(log_level level, FILE *f, const char *fmt, ...); | void _lander_log(log_level level, FILE *f, const char *fmt, ...); | ||||||
| 
 | 
 | ||||||
|  | #define log_level(level) _log_level = level | ||||||
|  | 
 | ||||||
| #define flog(level, f, ...) _lander_log(level, f, __VA_ARGS__) | #define flog(level, f, ...) _lander_log(level, f, __VA_ARGS__) | ||||||
| #define log(level, ...) _lander_log(level, NULL, __VA_ARGS__) | #define log(level, ...) _lander_log(level, NULL, __VA_ARGS__) | ||||||
| #define debug(...) _lander_log(log_level_debug, NULL, __VA_ARGS__) | #define debug(...) _lander_log(log_level_debug, NULL, __VA_ARGS__) | ||||||
|  |  | ||||||
|  | @ -45,6 +45,7 @@ static bool add_entry(char **key_ptr, int *key_len_ptr, http_loop_ctx *ctx, | ||||||
|   buf[key_len + 1] = '\0'; |   buf[key_len + 1] = '\0'; | ||||||
| 
 | 
 | ||||||
|   http_res_add_header(&ctx->res, http_header_location, buf, true); |   http_res_add_header(&ctx->res, http_header_location, buf, true); | ||||||
|  |   ctx->res.status = http_created; | ||||||
| 
 | 
 | ||||||
|   if (key_ptr != NULL) { |   if (key_ptr != NULL) { | ||||||
|     *key_ptr = key; |     *key_ptr = key; | ||||||
|  |  | ||||||
|  | @ -5,7 +5,13 @@ | ||||||
| const char *log_level_names[] = {"DEBUG", "INFO ", "WARN ", "ERROR", | const char *log_level_names[] = {"DEBUG", "INFO ", "WARN ", "ERROR", | ||||||
|                                  "CRITICAL"}; |                                  "CRITICAL"}; | ||||||
| 
 | 
 | ||||||
|  | log_level _log_level = log_level_debug; | ||||||
|  | 
 | ||||||
| void _lander_log(log_level level, FILE *f, const char *fmt, ...) { | void _lander_log(log_level level, FILE *f, const char *fmt, ...) { | ||||||
|  |   if (level < _log_level) { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   // Log to stdout by default
 |   // Log to stdout by default
 | ||||||
|   f = (f == NULL) ? stdout : f; |   f = (f == NULL) ? stdout : f; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue