]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/util/logger.c
Merge remote branch 'netafp/master' into branch-allea
[netatalk.git] / libatalk / util / logger.c
index e5c97eb461399a5cd8103bd5403491535699b6e3..9ce83c4dc4fac3606dfa744ee6234f62b1b51165 100644 (file)
@@ -437,7 +437,7 @@ void syslog_setup(int loglevel, enum logtypes logtype, int display_options, int
 
     log_config.inited = 1;
 
-    LOG(log_note, logtype_logger, "Set syslog logging to level: %s",
+    LOG(log_info, logtype_logger, "Set syslog logging to level: %s",
         arr_loglevel_strings[loglevel]);
 }
 
@@ -539,6 +539,9 @@ void make_log_entry(enum loglevels loglevel, enum logtypes logtype,
         temp_buffer[len+1] = 0;
     }
 
+    if (type_configs[logtype].level >= log_debug)
+        goto log; /* bypass flooding checks */
+
     /* Prevent flooding: hash the message and check if we got the same one recently */
     int hash = hash_message(temp_buffer) + log_src_linenumber;
 
@@ -554,14 +557,9 @@ void make_log_entry(enum loglevels loglevel, enum logtypes logtype,
                 /* yes, log it and remove from array */
 
                 /* reusing log_details_buffer */
-                sprintf(log_details_buffer, "message repeated %i times: ", LOG_FLOODING_MAXCOUNT - 1);
-                iov[0].iov_base = log_details_buffer;
-                iov[0].iov_len = strlen(log_details_buffer);
-                iov[1].iov_base = temp_buffer;
-                iov[1].iov_len = strlen(temp_buffer);
-
-                /* Write "message repeated x times: ..." to log */
-                writev( fd, iov, 2);
+                sprintf(log_details_buffer, "message repeated %i times\n",
+                        LOG_FLOODING_MAXCOUNT - 1);
+                write(fd, log_details_buffer, strlen(log_details_buffer));
 
                 if ((i + 1) == LOG_FLOODING_ARRAY_SIZE) {
                     /* last array element, just decrement count */
@@ -589,7 +587,6 @@ void make_log_entry(enum loglevels loglevel, enum logtypes logtype,
             /* reusing log_details_buffer */
             sprintf(log_details_buffer, "message repeated %i times\n",
                     log_flood_array[0].count - LOG_FLOODING_MINCOUNT + 1);
-            /* Write "message repeated x times: ..." to log */
             write(fd, log_details_buffer, strlen(log_details_buffer));
         }
         for (int i = 1; i < LOG_FLOODING_ARRAY_SIZE; i++) {