|
Server 0.0.1
HTTP/REST server implementation
|
00001 00023 #include <stdlib.h> 00024 #include <stdio.h> 00025 #include <stdarg.h> 00026 00027 #include "logger/logger.h" 00028 #include "logger/interface/logger.h" 00029 00030 const struct interface i_Logger = { 00031 "logger", 00032 1 00033 }; 00034 00035 void 00036 loggerLog(void * _object, logger_level level, const char * const fmt, ...) { 00037 Logger object = _object; 00038 00039 if (level >= object->min_level) { 00040 char * msg = NULL; 00041 size_t msg_size = 0; 00042 va_list params; 00043 00044 va_start(params, fmt); 00045 msg_size = vsnprintf(msg, msg_size, fmt, params); 00046 va_end(params); 00047 00048 msg = malloc(msg_size + 1); 00049 00050 va_start(params, fmt); 00051 vsnprintf(msg, msg_size + 1, fmt, params); 00052 va_end(params); 00053 00054 CALL(_object, Logger, log, level, msg); 00055 00056 free(msg); 00057 } 00058 } 00059 00060 // vim: set ts=4 sw=4: