diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-02-07 11:45:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-02-07 11:45:55 +0000 |
commit | a8220ab2d293bb7f4b014b79d16b2fb05090fa93 (patch) | |
tree | 77f0a30f016c0925cf7ee9292e644bba183c2774 /libnetdata/log/log.c | |
parent | Adding upstream version 1.19.0. (diff) | |
download | netdata-a8220ab2d293bb7f4b014b79d16b2fb05090fa93.tar.xz netdata-a8220ab2d293bb7f4b014b79d16b2fb05090fa93.zip |
Adding upstream version 1.29.0.upstream/1.29.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'libnetdata/log/log.c')
-rw-r--r-- | libnetdata/log/log.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/libnetdata/log/log.c b/libnetdata/log/log.c index 7849aedc..95d3d98d 100644 --- a/libnetdata/log/log.c +++ b/libnetdata/log/log.c @@ -796,6 +796,8 @@ void fatal_int( const char *file, const char *function, const unsigned long line // save a copy of errno - just in case this function generates a new error int __errno = errno; va_list args; + const char *thread_tag; + char os_threadname[NETDATA_THREAD_NAME_MAX + 1]; if(error_log_syslog) { va_start( args, fmt ); @@ -803,14 +805,22 @@ void fatal_int( const char *file, const char *function, const unsigned long line va_end( args ); } + thread_tag = netdata_thread_tag(); + if (!netdata_thread_tag_exists()) { + os_thread_get_current_name_np(os_threadname); + if ('\0' != os_threadname[0]) { /* If it is not an empty string replace "MAIN" thread_tag */ + thread_tag = os_threadname; + } + } + char date[LOG_DATE_LENGTH]; log_date(date, LOG_DATE_LENGTH); log_lock(); va_start( args, fmt ); - if(debug_flags) fprintf(stderr, "%s: %s FATAL : %s : (%04lu@%-10.10s:%-15.15s): ", date, program_name, netdata_thread_tag(), line, file, function); - else fprintf(stderr, "%s: %s FATAL : %s :", date, program_name, netdata_thread_tag()); + if(debug_flags) fprintf(stderr, "%s: %s FATAL : %s : (%04lu@%-10.10s:%-15.15s): ", date, program_name, thread_tag, line, file, function); + else fprintf(stderr, "%s: %s FATAL : %s : ", date, program_name, thread_tag); vfprintf( stderr, fmt, args ); va_end( args ); @@ -820,10 +830,11 @@ void fatal_int( const char *file, const char *function, const unsigned long line log_unlock(); char action_data[70+1]; - snprintfz(action_data, 70, "%04lu@%-10.10s:%-15.15s/%d", line, file, function, __errno); - char action_result[60+1]; - snprintfz(action_result, 60, "%s:%s",program_name, strcmp(program_name,"STREAM_RECEIVER")?netdata_thread_tag():"[x]"); - send_statistics("FATAL", action_result, action_data); + snprintfz(action_data, 70, "%04lu@%-10.10s:%-15.15s/%d", line, file, function, __errno); + char action_result[60+1]; + + snprintfz(action_result, 60, "%s:%s", program_name, strncmp(thread_tag, "STREAM_RECEIVER", strlen("STREAM_RECEIVER")) ? thread_tag : "[x]"); + send_statistics("FATAL", action_result, action_data); netdata_cleanup_and_exit(1); } |