Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Initialize categories through XBT_LOG_CONNECT,
[simgrid.git] / include / xbt / log.h
index 26fdf6f..7ff3646 100644 (file)
@@ -118,6 +118,7 @@ typedef enum {
     XBT_LOG_EXTERNAL_CATEGORY(child);                                   \
     XBT_LOG_EXTERNAL_CATEGORY(parent_cat);                              \
     _XBT_LOGV(child).parent = &_XBT_LOGV(parent_cat);                   \
+    _xbt_log_cat_init(&_XBT_LOGV(child), xbt_log_priority_uninitialized); \
   } else ((void)0)
 #else
 # define _XBT_LOG_PARENT_INITIALIZER(parent) &_XBT_LOGV(parent)
@@ -126,6 +127,7 @@ typedef enum {
     XBT_LOG_EXTERNAL_CATEGORY(child);                                   \
     XBT_LOG_EXTERNAL_CATEGORY(parent_cat);                              \
     xbt_assert(_XBT_LOGV(child).parent == &_XBT_LOGV(parent_cat));      \
+    _xbt_log_cat_init(&_XBT_LOGV(child), xbt_log_priority_uninitialized); \
   } else ((void)0)
 #endif
 
@@ -139,6 +141,7 @@ typedef enum {
         NULL /* firstChild */,                          \
        NULL /* nextSibling */,                         \
         #catName,                                       \
+        desc,                                           \
         0 /*initialized */,                             \
         xbt_log_priority_uninitialized /* threshold */, \
         1 /* isThreshInherited */,                      \
@@ -258,6 +261,7 @@ struct xbt_log_category_s {
   xbt_log_category_t firstChild;
   xbt_log_category_t nextSibling;
   const char *name;
+  const char *description;
   int initialized;
   int threshold;
   int isThreshInherited;
@@ -361,6 +365,13 @@ extern xbt_log_layout_t xbt_log_default_layout;
  */
 XBT_PUBLIC(void) xbt_log_help(void);
 
+/**
+ * \ingroup XBT_log
+ *
+ * Prints the log category hierarchy.
+ */
+XBT_PUBLIC(void) xbt_log_help_categories(void);
+
 /**
  * \ingroup XBT_log 
  * \param catName name of the category