Changeset: c07dec74e930 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c07dec74e930 Modified Files: gdk/gdk_private.h gdk/gdk_tracer.c gdk/gdk_utils.c Branch: Jun2020 Log Message:
Write timestamp in error message when not writing to pipe (merovingian). diffs (63 lines): diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h --- a/gdk/gdk_private.h +++ b/gdk/gdk_private.h @@ -168,6 +168,8 @@ gdk_return GDKssort_rev(void *restrict h gdk_return GDKssort(void *restrict h, void *restrict t, const void *restrict base, size_t n, int hs, int ts, int tpe) __attribute__((__warn_unused_result__)) __attribute__((__visibility__("hidden"))); +void GDKtracer_init(void) + __attribute__((__visibility__("hidden"))); gdk_return GDKunlink(int farmid, const char *dir, const char *nme, const char *extension) __attribute__((__visibility__("hidden"))); void HASHfree(BAT *b) diff --git a/gdk/gdk_tracer.c b/gdk/gdk_tracer.c --- a/gdk/gdk_tracer.c +++ b/gdk/gdk_tracer.c @@ -9,6 +9,7 @@ #include "monetdb_config.h" #include "gdk.h" #include "gdk_tracer.h" +#include "gdk_private.h" #define DEFAULT_ADAPTER BASIC #define DEFAULT_LOG_LEVEL M_ERROR @@ -414,6 +415,17 @@ GDKtracer_reset_adapter(void) return GDK_SUCCEED; } +static bool add_ts; /* add timestamp to error message to stderr */ + +void +GDKtracer_init(void) +{ +#ifdef _MSC_VER + add_ts = GetFileType(GetStdHandle(STD_ERROR_HANDLE)) != FILE_TYPE_PIPE; +#else + add_ts = isatty(2) || lseek(2, 0, SEEK_CUR) != (off_t) -1 || errno != ESPIPE; +#endif +} void GDKtracer_log(const char *file, const char *func, int lineno, @@ -486,7 +498,9 @@ GDKtracer_log(const char *file, const ch } if (level == M_CRITICAL || level == M_ERROR || level == M_WARNING) { - fprintf(stderr, "#%s: %s: %s%s%s%s\n", + fprintf(stderr, "#%s%s%s: %s: %s%s%s%s\n", + add_ts ? ts : "", + add_ts ? ": " : "", MT_thread_getname(), func, GDKERROR, msg, syserr ? ": " : "", syserr ? syserr : ""); diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -799,6 +799,7 @@ GDKinit(opt *set, int setlen) /* BBP was locked by BBPexit() */ BBPunlock(); } + GDKtracer_init(); errno = 0; if (!GDKinmemory() && !GDKenvironment(dbpath)) return GDK_FAIL; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list