]> arthur.barton.de Git - netdata.git/blobdiff - src/log.c
locks abstraction, error reporting, debugging
[netdata.git] / src / log.c
index b7ec64bcb9463eb31b2eab07c37685c7f6a6d5ee..855ecaee6ee71920c132792823ee783a28b7f015 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -1,7 +1,7 @@
 #include "common.h"
 
 const char *program_name = "";
-unsigned long long debug_flags = DEBUG;
+uint64_t debug_flags = DEBUG;
 
 int access_log_syslog = 1;
 int error_log_syslog = 1;
@@ -24,7 +24,7 @@ void syslog_init(void) {
 }
 
 int open_log_file(int fd, FILE **fp, const char *filename, int *enabled_syslog) {
-    int f, t;
+    int f;
 
     if(!filename || !*filename || !strcmp(filename, "none"))
         filename = "/dev/null";
@@ -64,7 +64,7 @@ int open_log_file(int fd, FILE **fp, const char *filename, int *enabled_syslog)
 
     if(fd != f && fd != -1) {
         // it automatically closes
-        t = dup2(f, fd);
+        int t = dup2(f, fd);
         if (t == -1) {
             error("Cannot dup2() new fd %d to old fd %d for '%s'", f, fd, filename);
             close(f);
@@ -125,9 +125,13 @@ int error_log_limit(int reset) {
 
     // prevent all logs if the errors per period is 0
     if(error_log_errors_per_period == 0)
+#ifdef NETDATA_INTERNAL_CHECKS
+        return 0;
+#else
         return 1;
+#endif
 
-    time_t now = time(NULL);
+    time_t now = now_monotonic_sec();
     if(!start) start = now;
 
     if(reset) {
@@ -185,7 +189,11 @@ int error_log_limit(int reset) {
         prevented++;
 
         // prevent logging this error
+#ifdef NETDATA_INTERNAL_CHECKS
+        return 0;
+#else
         return 1;
+#endif
     }
 
     return 0;
@@ -200,15 +208,15 @@ int error_log_limit(int reset) {
 
 void log_date(FILE *out)
 {
-        char outstr[24];
+        char outstr[26];
         time_t t;
         struct tm *tmp, tmbuf;
 
-        t = time(NULL);
+        t = now_realtime_sec();
         tmp = localtime_r(&t, &tmbuf);
 
         if (tmp == NULL) return;
-        if (unlikely(strftime(outstr, sizeof(outstr), "%y-%m-%d %H:%M:%S", tmp) == 0)) return;
+        if (unlikely(strftime(outstr, sizeof(outstr), "%Y-%m-%d %H:%M:%S", tmp) == 0)) return;
 
         fprintf(out, "%s: ", outstr);
 }
@@ -222,7 +230,7 @@ void debug_int( const char *file, const char *function, const unsigned long line
 
     log_date(stdout);
     va_start( args, fmt );
-    printf("DEBUG (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
+    printf("%s: DEBUG (%04lu@%-10.10s:%-15.15s): ", program_name, line, file, function);
     vprintf(fmt, args);
     va_end( args );
     putchar('\n');
@@ -249,8 +257,8 @@ void info_int( const char *file, const char *function, const unsigned long line,
     log_date(stderr);
 
     va_start( args, fmt );
-    if(debug_flags) fprintf(stderr, "INFO (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
-    else            fprintf(stderr, "INFO: %s: ", program_name);
+    if(debug_flags) fprintf(stderr, "%s: INFO : (%04lu@%-10.10s:%-15.15s): ", program_name, line, file, function);
+    else            fprintf(stderr, "%s: INFO : ", program_name);
     vfprintf( stderr, fmt, args );
     va_end( args );
 
@@ -298,8 +306,8 @@ void error_int( const char *prefix, const char *file, const char *function, cons
     log_date(stderr);
 
     va_start( args, fmt );
-    if(debug_flags) fprintf(stderr, "%s (%04lu@%-10.10s:%-15.15s): %s: ", prefix, line, file, function, program_name);
-    else            fprintf(stderr, "%s: %s: ", prefix, program_name);
+    if(debug_flags) fprintf(stderr, "%s: %s: (%04lu@%-10.10s:%-15.15s): ", program_name, prefix, line, file, function);
+    else            fprintf(stderr, "%s: %s: ", program_name, prefix);
     vfprintf( stderr, fmt, args );
     va_end( args );
 
@@ -325,8 +333,8 @@ void fatal_int( const char *file, const char *function, const unsigned long line
     log_date(stderr);
 
     va_start( args, fmt );
-    if(debug_flags) fprintf(stderr, "FATAL (%04lu@%-10.10s:%-15.15s): %s: ", line, file, function, program_name);
-    else            fprintf(stderr, "FATAL: %s: ", program_name);
+    if(debug_flags) fprintf(stderr, "%s: FATAL: (%04lu@%-10.10s:%-15.15s): ", program_name, line, file, function);
+    else            fprintf(stderr, "%s: FATAL: ", program_name);
     vfprintf( stderr, fmt, args );
     va_end( args );