Azure IoT common library
Fork of azure_c_shared_utility by
Diff: xlogging.c
- Revision:
- 7:1af47e3a19b6
- Parent:
- 6:c55b013dfc2a
- Child:
- 8:3db46d1e5471
--- a/xlogging.c Fri Jul 01 10:43:23 2016 -0700 +++ b/xlogging.c Fri Jul 29 16:01:07 2016 -0700 @@ -4,7 +4,49 @@ #include "azure_c_shared_utility/xlogging.h" #include "azure_c_shared_utility/consolelogger.h" -static LOGGER_LOG global_log_function = consolelogger_log; +#ifndef NO_LOGGING + + +#ifdef WINCE +#include <stdarg.h> +#if defined _MSC_VER +#define FUNC_NAME __FUNCDNAME__ +#else +#define FUNC_NAME __func__ +#endif + +void consolelogger_log(LOG_CATEGORY log_category, unsigned int options, const char* format, ...) +{ + va_list args; + va_start(args, format); + + time_t t = time(NULL); + + switch (log_category) + { + case LOG_INFO: + (void)printf("Info: "); + break; + case LOG_ERROR: + (void)printf("Error: Time:%.24s File:%s Func:%s Line:%d ", ctime(&t), __FILE__, FUNC_NAME, __LINE__); + break; + default: + break; + } + + (void)vprintf(format, args); + va_end(args); + + (void)log_category; + if (options & LOG_LINE) + { + (void)printf("\r\n"); + } +} +#endif + +LOGGER_LOG global_log_function = consolelogger_log; + void xlogging_set_log_function(LOGGER_LOG log_function) { @@ -15,3 +57,5 @@ { return global_log_function; } + +#endif