From 386c9748d48d3bb4513e8e5c32e2b30a4d6a00d4 Mon Sep 17 00:00:00 2001 From: mannol Date: Tue, 18 Nov 2014 00:46:46 +0100 Subject: av refactor --- toxcore/Messenger.c | 3 --- toxcore/logger.c | 21 ++++++++++++++++++--- toxcore/logger.h | 16 ++++++++++------ toxcore/util.h | 2 +- 4 files changed, 29 insertions(+), 13 deletions(-) (limited to 'toxcore') diff --git a/toxcore/Messenger.c b/toxcore/Messenger.c index 609ec35e..704a34b4 100644 --- a/toxcore/Messenger.c +++ b/toxcore/Messenger.c @@ -36,9 +36,6 @@ #include "util.h" -#define MIN(a,b) (((a)<(b))?(a):(b)) - - static void set_friend_status(Messenger *m, int32_t friendnumber, uint8_t status); static int write_cryptpacket_id(const Messenger *m, int32_t friendnumber, uint8_t packet_id, const uint8_t *data, uint32_t length, uint8_t congestion_control); diff --git a/toxcore/logger.c b/toxcore/logger.c index 48a2f303..db50700c 100644 --- a/toxcore/logger.c +++ b/toxcore/logger.c @@ -80,7 +80,7 @@ const char *logger_stringify_level(LoggerLevel level) static const char *strings [] = { "INFO", "DEBUG", - "WARNING", + "WARN", "ERROR" }; @@ -143,11 +143,26 @@ void logger_write (LoggerLevel level, const char *format, ...) char *logger_timestr(char *dest, size_t max_size) { - uint64_t diff = (current_time_monotonic() - logger.start_time); /* ms */ + time_t timer; + struct tm* tm_info; + + time(&timer); + tm_info = localtime(&timer); + + strftime(dest, max_size, "%m:%d %H:%M:%S", tm_info); + + return dest; + + /*uint64_t diff = (current_time_monotonic() - logger.start_time); /* ms * / snprintf(dest, max_size, "%"PRIu64"", diff); - return dest; + return dest; */ } +char *logger_posstr (char *dest, size_t max_size, const char* file, int line) +{ + snprintf(dest, max_size, "%s:%d", file, line); + return dest; +} #endif /* LOGGING */ 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); unsigned logger_get_pid(); void logger_write (LoggerLevel level, const char *format, ...); char *logger_timestr (char *dest, size_t max_size); +char *logger_posstr (char *dest, size_t max_size, const char* file, int line); #if defined(_WIN32) || defined(__WIN32__) || defined (WIN32) #define _SFILE (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) @@ -51,16 +52,19 @@ char *logger_timestr (char *dest, size_t max_size); #define _SFILE (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) #endif -#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", \ - logger_get_pid(), logger_stringify_level(__LEVEL__), logger_timestr(__time__, 20), _SFILE, __LINE__, __func__, format) +#define LFORMAT "\n%-15s %-7u %-5s %-20s - %s" +#define WRITE_FORMAT(__LEVEL__, __WHAT__) \ + char __time__[15]; char posstr[200]; char the_str [4096]; \ + snprintf(the_str, 4096, LFORMAT, logger_timestr(__time__, 15), logger_get_pid(), \ + logger_stringify_level(__LEVEL__), logger_posstr(posstr, 200, _SFILE, __LINE__), __WHAT__) /* Use these macros */ #define LOGGER_INIT(name, level) logger_init(name, level); -#define LOGGER_INFO(format, ...) do { WRITE_FORMAT(INFO, format); logger_write( INFO, the_str, ##__VA_ARGS__ ); free(the_str); } while (0) -#define LOGGER_DEBUG(format, ...) do { WRITE_FORMAT(DEBUG, format); logger_write( DEBUG, the_str, ##__VA_ARGS__ ); free(the_str); } while (0) -#define LOGGER_WARNING(format, ...) do { WRITE_FORMAT(WARNING, format); logger_write( WARNING, the_str, ##__VA_ARGS__ ); free(the_str); } while (0) -#define LOGGER_ERROR(format, ...) do { WRITE_FORMAT(ERROR, format); logger_write( ERROR, the_str, ##__VA_ARGS__ ); free(the_str); } while (0) +#define LOGGER_INFO(format, ...) do { WRITE_FORMAT(INFO, format); logger_write( INFO, the_str, ##__VA_ARGS__ ); } while (0) +#define LOGGER_DEBUG(format, ...) do { WRITE_FORMAT(DEBUG, format); logger_write( DEBUG, the_str, ##__VA_ARGS__ ); } while (0) +#define LOGGER_WARNING(format, ...) do { WRITE_FORMAT(WARNING, format); logger_write( WARNING, the_str, ##__VA_ARGS__ ); } while (0) +#define LOGGER_ERROR(format, ...) do { WRITE_FORMAT(ERROR, format); logger_write( ERROR, the_str, ##__VA_ARGS__ ); } while (0) /* To do some checks or similar only when logging use this */ #define LOGGER_SCOPE(__SCOPE_DO__) do { __SCOPE_DO__ } while(0) diff --git a/toxcore/util.h b/toxcore/util.h index e90eee0f..007db079 100644 --- a/toxcore/util.h +++ b/toxcore/util.h @@ -28,7 +28,7 @@ #include #include -#define inline__ inline __attribute__((always_inline)) +#define MIN(a,b) (((a)<(b))?(a):(b)) void unix_time_update(); uint64_t unix_time(); -- cgit v1.2.3