summaryrefslogtreecommitdiff
path: root/toxcore/logger.h
diff options
context:
space:
mode:
authormannol <eniz_vukovic@hotmail.com>2014-11-18 00:46:46 +0100
committermannol <eniz_vukovic@hotmail.com>2014-11-18 00:46:46 +0100
commit386c9748d48d3bb4513e8e5c32e2b30a4d6a00d4 (patch)
tree55d0fb2e9fb6e1149317b9de355c28dd86c57014 /toxcore/logger.h
parent4e6f993e7d22865ee2ac90bd7dd3ff25b078c55c (diff)
av refactor
Diffstat (limited to 'toxcore/logger.h')
-rw-r--r--toxcore/logger.h16
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);
44unsigned logger_get_pid(); 44unsigned logger_get_pid();
45void logger_write (LoggerLevel level, const char *format, ...); 45void logger_write (LoggerLevel level, const char *format, ...);
46char *logger_timestr (char *dest, size_t max_size); 46char *logger_timestr (char *dest, size_t max_size);
47char *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)