From 9eea072f2af9fc6876f47a06af10e5be66bd4e55 Mon Sep 17 00:00:00 2001 From: Deomid Ryabkov <rojer@cesanta.com> Date: Mon, 22 Feb 2016 14:09:33 +0100 Subject: [PATCH] Add optional log of timestamp difference PUBLISHED_FROM=046ac695f1c771ab156bdd950a8d5cbecbf65bfa --- mongoose.c | 16 ++++++++++++++++ mongoose.h | 4 ++++ 2 files changed, 20 insertions(+) diff --git a/mongoose.c b/mongoose.c index 574817c5d..8266693cf 100644 --- a/mongoose.c +++ b/mongoose.c @@ -339,6 +339,8 @@ int cs_base64_decode(const unsigned char *s, int len, char *dst) { #include <stdarg.h> #include <stdio.h> +/* Amalgamated: #include "common/cs_time.h" */ + enum cs_log_level s_cs_log_level = #ifdef CS_ENABLE_DEBUG LL_VERBOSE_DEBUG; @@ -346,19 +348,33 @@ enum cs_log_level s_cs_log_level = LL_ERROR; #endif +#ifdef CS_LOG_TS_DIFF +double cs_log_ts; +#endif + #ifndef CS_DISABLE_STDIO void cs_log_printf(const char *fmt, ...) { va_list ap; +#ifdef CS_LOG_TS_DIFF + double now = cs_time(); + fprintf(stderr, "%7u ", (unsigned int) ((now - cs_log_ts) * 1000000)); +#endif va_start(ap, fmt); vfprintf(stderr, fmt, ap); va_end(ap); fputc('\n', stderr); +#ifdef CS_LOG_TS_DIFF + cs_log_ts = now; +#endif fflush(stderr); } #endif /* !CS_DISABLE_STDIO */ void cs_log_set_level(enum cs_log_level level) { s_cs_log_level = level; +#ifdef CS_LOG_TS_DIFF + cs_log_ts = cs_time(); +#endif } #ifdef MG_MODULE_LINES #line 0 "./src/../../common/cs_dirent.c" diff --git a/mongoose.h b/mongoose.h index 2bfa77fbb..a7df261f2 100644 --- a/mongoose.h +++ b/mongoose.h @@ -565,6 +565,10 @@ void cs_log_set_level(enum cs_log_level level); #ifndef CS_DISABLE_STDIO +#ifdef CS_LOG_TS_DIFF +extern double cs_log_ts; +#endif + void cs_log_printf(const char *fmt, ...); #define LOG(l, x) \ -- GitLab