diff --git a/utils/log.h b/utils/log.h index e4d5cbef0..cfee359f4 100644 --- a/utils/log.h +++ b/utils/log.h @@ -17,21 +17,34 @@ * along with this program. If not, see . */ -#include -#include "desktop/netsurf.h" - #ifndef _NETSURF_LOG_H_ #define _NETSURF_LOG_H_ +#include +#include +#include "desktop/netsurf.h" + #ifdef NDEBUG # define LOG(x) ((void) 0) #else + +static inline const char *nslog_gettime(void) +{ + static char buff[32]; + static struct timeval tv; + + gettimeofday(&tv, NULL); + snprintf(buff, sizeof(buff),"(%ld.%ld)", tv.tv_sec, tv.tv_usec); + return buff; +} + # ifdef __GNUC__ -# define LOG(x) do { if (verbose_log) (printf(__FILE__ " %s %i: ", __PRETTY_FUNCTION__, __LINE__), printf x, fputc('\n', stdout)); } while (0) +# define LOG(x) do { if (verbose_log) (printf("%s " __FILE__ " %s %i: ", nslog_gettime(), __PRETTY_FUNCTION__, __LINE__), printf x, fputc('\n', stdout)); } while (0) + # elif defined(__CC_NORCROFT) -# define LOG(x) do { if (verbose_log) (printf(__FILE__ " %s %i: ", __func__, __LINE__), printf x, fputc('\n', stdout)); } while (0) +# define LOG(x) do { if (verbose_log) (printf("%s "__FILE__ " %s %i: ", nslog_gettime(), __func__, __LINE__), printf x, fputc('\n', stdout)); } while (0) # else -# define LOG(x) do { if (verbose_log) (printf(__FILE__ " %i: ", __LINE__), printf x, fputc('\n', stdout)); } while (0) +# define LOG(x) do { if (verbose_log) (printf("%s" __FILE__ " %i: ", nslog_gettime(), __LINE__), printf x, fputc('\n', stdout)); } while (0) # endif #endif