diff options
author | mannol <eniz_vukovic@hotmail.com> | 2014-11-18 00:46:46 +0100 |
---|---|---|
committer | mannol <eniz_vukovic@hotmail.com> | 2014-11-18 00:46:46 +0100 |
commit | 386c9748d48d3bb4513e8e5c32e2b30a4d6a00d4 (patch) | |
tree | 55d0fb2e9fb6e1149317b9de355c28dd86c57014 /toxcore/logger.h | |
parent | 4e6f993e7d22865ee2ac90bd7dd3ff25b078c55c (diff) |
av refactor
Diffstat (limited to 'toxcore/logger.h')
-rw-r--r-- | toxcore/logger.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/toxcore/logger.h b/toxcore/logger.h index 56fe086d..7590d8b5 100644 --- a/toxcore/logger.h +++ b/toxcore/logger.h | |||
@@ -44,6 +44,7 @@ const char *logger_stringify_level(LoggerLevel level); | |||
44 | unsigned logger_get_pid(); | 44 | unsigned logger_get_pid(); |
45 | void logger_write (LoggerLevel level, const char *format, ...); | 45 | void logger_write (LoggerLevel level, const char *format, ...); |
46 | char *logger_timestr (char *dest, size_t max_size); | 46 | char *logger_timestr (char *dest, size_t max_size); |
47 | char *logger_posstr (char *dest, size_t max_size, const char* file, int line); | ||
47 | 48 | ||
48 | #if defined(_WIN32) || defined(__WIN32__) || defined (WIN32) | 49 | #if defined(_WIN32) || defined(__WIN32__) || defined (WIN32) |
49 | #define _SFILE (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) | 50 | #define _SFILE (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) |
@@ -51,16 +52,19 @@ char *logger_timestr (char *dest, size_t max_size); | |||
51 | #define _SFILE (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) | 52 | #define _SFILE (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) |
52 | #endif | 53 | #endif |
53 | 54 | ||
54 | #define WRITE_FORMAT(__LEVEL__, format) char __time__[20]; char* the_str = calloc(sizeof(char), strlen(format)+ 500); sprintf(the_str, "\n[%u] [%s] [%s] [%s:%d %s()] %s", \ | 55 | #define LFORMAT "\n%-15s %-7u %-5s %-20s - %s" |
55 | logger_get_pid(), logger_stringify_level(__LEVEL__), logger_timestr(__time__, 20), _SFILE, __LINE__, __func__, format) | 56 | #define WRITE_FORMAT(__LEVEL__, __WHAT__) \ |
57 | char __time__[15]; char posstr[200]; char the_str [4096]; \ | ||
58 | snprintf(the_str, 4096, LFORMAT, logger_timestr(__time__, 15), logger_get_pid(), \ | ||
59 | logger_stringify_level(__LEVEL__), logger_posstr(posstr, 200, _SFILE, __LINE__), __WHAT__) | ||
56 | 60 | ||
57 | /* Use these macros */ | 61 | /* Use these macros */ |
58 | 62 | ||
59 | #define LOGGER_INIT(name, level) logger_init(name, level); | 63 | #define LOGGER_INIT(name, level) logger_init(name, level); |
60 | #define LOGGER_INFO(format, ...) do { WRITE_FORMAT(INFO, format); logger_write( INFO, the_str, ##__VA_ARGS__ ); free(the_str); } while (0) | 64 | #define LOGGER_INFO(format, ...) do { WRITE_FORMAT(INFO, format); logger_write( INFO, the_str, ##__VA_ARGS__ ); } while (0) |
61 | #define LOGGER_DEBUG(format, ...) do { WRITE_FORMAT(DEBUG, format); logger_write( DEBUG, the_str, ##__VA_ARGS__ ); free(the_str); } while (0) | 65 | #define LOGGER_DEBUG(format, ...) do { WRITE_FORMAT(DEBUG, format); logger_write( DEBUG, the_str, ##__VA_ARGS__ ); } while (0) |
62 | #define LOGGER_WARNING(format, ...) do { WRITE_FORMAT(WARNING, format); logger_write( WARNING, the_str, ##__VA_ARGS__ ); free(the_str); } while (0) | 66 | #define LOGGER_WARNING(format, ...) do { WRITE_FORMAT(WARNING, format); logger_write( WARNING, the_str, ##__VA_ARGS__ ); } while (0) |
63 | #define LOGGER_ERROR(format, ...) do { WRITE_FORMAT(ERROR, format); logger_write( ERROR, the_str, ##__VA_ARGS__ ); free(the_str); } while (0) | 67 | #define LOGGER_ERROR(format, ...) do { WRITE_FORMAT(ERROR, format); logger_write( ERROR, the_str, ##__VA_ARGS__ ); } while (0) |
64 | 68 | ||
65 | /* To do some checks or similar only when logging use this */ | 69 | /* To do some checks or similar only when logging use this */ |
66 | #define LOGGER_SCOPE(__SCOPE_DO__) do { __SCOPE_DO__ } while(0) | 70 | #define LOGGER_SCOPE(__SCOPE_DO__) do { __SCOPE_DO__ } while(0) |