gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r36685 - in gnunet/src: include util


From: gnunet
Subject: [GNUnet-SVN] r36685 - in gnunet/src: include util
Date: Mon, 23 Nov 2015 09:47:51 +0100

Author: grothoff
Date: 2015-11-23 09:47:51 +0100 (Mon, 23 Nov 2015)
New Revision: 36685

Modified:
   gnunet/src/include/gnunet_common.h
   gnunet/src/util/common_logging.c
Log:
preparations for fixing #4065

Modified: gnunet/src/include/gnunet_common.h
===================================================================
--- gnunet/src/include/gnunet_common.h  2015-11-23 08:20:54 UTC (rev 36684)
+++ gnunet/src/include/gnunet_common.h  2015-11-23 08:47:51 UTC (rev 36685)
@@ -524,7 +524,10 @@
 
 /**
  * @ingroup logging
- * Add a custom logger.
+ * Add a custom logger.  Note that installing any custom logger
+ * will disable the standard logger.  When multiple custom loggers
+ * are installed, all will be called.  The standard logger will
+ * only be used if no custom loggers are present.
  *
  * @param logger log function
  * @param logger_cls closure for @a logger

Modified: gnunet/src/util/common_logging.c
===================================================================
--- gnunet/src/util/common_logging.c    2015-11-23 08:20:54 UTC (rev 36684)
+++ gnunet/src/util/common_logging.c    2015-11-23 08:47:51 UTC (rev 36685)
@@ -149,7 +149,7 @@
 /**
  * Number of log calls to ignore.
  */
-int skip_log = 0;
+static int skip_log = 0;
 
 /**
  * File descriptor to use for "stderr", or NULL for none.
@@ -342,10 +342,15 @@
   if ( (NULL != leftsquare) && (']' == leftsquare[1]) )
   {
     char *logfile_copy = GNUNET_strdup (fn);
+
     logfile_copy[leftsquare - fn] = '\0';
     logfile_copy[leftsquare - fn + 1] = '\0';
-    snprintf (fn, PATH_MAX, "%s%d%s",
-         logfile_copy, getpid (), &logfile_copy[leftsquare - fn + 2]);
+    snprintf (fn,
+              PATH_MAX,
+              "%s%d%s",
+              logfile_copy,
+              getpid (),
+              &logfile_copy[leftsquare - fn + 2]);
     GNUNET_free (logfile_copy);
   }
   if (0 == strcmp (fn, last_fn))
@@ -405,8 +410,13 @@
  * @return 0 on success, regex-specific error otherwise
  */
 static int
-add_definition (char *component, char *file, char *function, int from_line,
-                int to_line, int level, int force)
+add_definition (const char *component,
+                const char *file,
+                const char *function,
+                int from_line,
+                int to_line,
+                int level,
+                int force)
 {
   struct LogDef n;
   int r;
@@ -461,8 +471,11 @@
  * @return 0 to disallow the call, 1 to allow it
  */
 int
-GNUNET_get_log_call_status (int caller_level, const char *comp,
-                            const char *file, const char *function, int line)
+GNUNET_get_log_call_status (int caller_level,
+                            const char *comp,
+                            const char *file,
+                            const char *function,
+                            int line)
 {
   struct LogDef *ld;
   int i;
@@ -696,13 +709,17 @@
 
 
 /**
- * Add a custom logger.
+ * Add a custom logger. Note that installing any custom logger
+ * will disable the standard logger.  When multiple custom loggers
+ * are installed, all will be called.  The standard logger will
+ * only be used if no custom loggers are present.
  *
  * @param logger log function
  * @param logger_cls closure for @a logger
  */
 void
-GNUNET_logger_add (GNUNET_Logger logger, void *logger_cls)
+GNUNET_logger_add (GNUNET_Logger logger,
+                   void *logger_cls)
 {
   struct CustomLogger *entry;
 
@@ -721,7 +738,8 @@
  * @param logger_cls closure for @a logger
  */
 void
-GNUNET_logger_remove (GNUNET_Logger logger, void *logger_cls)
+GNUNET_logger_remove (GNUNET_Logger logger,
+                      void *logger_cls)
 {
   struct CustomLogger *pos;
   struct CustomLogger *prev;
@@ -756,17 +774,26 @@
  * @param msg the actual message
  */
 static void
-output_message (enum GNUNET_ErrorType kind, const char *comp,
-                const char *datestr, const char *msg)
+output_message (enum GNUNET_ErrorType kind,
+                const char *comp,
+                const char *datestr,
+                const char *msg)
 {
   struct CustomLogger *pos;
+
 #if WINDOWS
   EnterCriticalSection (&output_message_cs);
 #endif
-  if (NULL != GNUNET_stderr)
+  /* only use the standard logger if no custom loggers are present */
+  if ( (NULL != GNUNET_stderr) &&
+       (NULL == loggers) )
   {
-    FPRINTF (GNUNET_stderr, "%s %s %s %s", datestr, comp,
-             GNUNET_error_type_to_string (kind), msg);
+    FPRINTF (GNUNET_stderr,
+             "%s %s %s %s",
+             datestr,
+             comp,
+             GNUNET_error_type_to_string (kind),
+             msg);
     fflush (GNUNET_stderr);
   }
   pos = loggers;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]