X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5119d31da6d329bfcf55d56333e554e1ce1de5e1..2f02d5fdd1af4cc2f9eaf3c6456c822616c1cb15:/include/xbt/log.h diff --git a/include/xbt/log.h b/include/xbt/log.h index 4f4c38be6f..b75df7fea7 100644 --- a/include/xbt/log.h +++ b/include/xbt/log.h @@ -7,6 +7,25 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ +/** @addtogroup XBT_log + * @brief A generic logging facility in the spirit of log4j (grounding feature) + * + * + */ + +/** \defgroup XBT_log_cats Existing log categories + * \ingroup XBT_log + * \brief (automatically extracted) + * + * This is the list of all existing log categories in SimGrid. + * This list was automatically extracted from the source code by + * the src/xbt_log_extract_hierarchy utility. + * + * You can thus be certain that it is uptodate, but it may somehow + * lack a final manual touch. + * Anyway, nothing's perfect ;) + */ + /* XBT_LOG_MAYDAY: define this to replace the logging facilities with basic printf function. Useful to debug the logging facilities themselves */ #undef XBT_LOG_MAYDAY @@ -18,7 +37,7 @@ #include "xbt/misc.h" #include - +SG_BEGIN_DECL() /**\brief Log priorities * \ingroup XBT_log * @@ -119,7 +138,7 @@ typedef enum { # define XBT_LOG_DEFAULT_CATEGORY(cname) #else # define XBT_LOG_DEFAULT_CATEGORY(cname) \ - static xbt_log_category_t _XBT_LOGV(default) = &_XBT_LOGV(cname) + static xbt_log_category_t _XBT_LOGV(default) _XBT_GNUC_UNUSED = &_XBT_LOGV(cname) #endif /** @@ -161,6 +180,18 @@ typedef enum { #define XBT_LOG_EXTERNAL_CATEGORY(cname) \ extern s_xbt_log_category_t _XBT_LOGV(cname) +/** + * \ingroup XBT_log + * \param cname name of the cat + * \hideinitializer + * + * Indicates that the default category of this file was declared in another file. + */ + +#define XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(cname) \ + XBT_LOG_EXTERNAL_CATEGORY(cname);\ + XBT_LOG_DEFAULT_CATEGORY(cname) + /* Functions you may call */ extern void xbt_log_control_set(const char* cs); @@ -343,6 +374,8 @@ extern xbt_log_appender_t xbt_log_default_appender; #define CINFO4(c, f,a1,a2,a3,a4) CLOG4(c, xbt_log_priority_info, f,a1,a2,a3,a4) #define CINFO5(c, f,a1,a2,a3,a4,a5) CLOG5(c, xbt_log_priority_info, f,a1,a2,a3,a4,a5) #define CINFO6(c, f,a1,a2,a3,a4,a5,a6) CLOG6(c, xbt_log_priority_info, f,a1,a2,a3,a4,a5,a6) +#define CINFO7(c, f,a1,a2,a3,a4,a5,a6,a7) CLOG7(c, xbt_log_priority_info, f,a1,a2,a3,a4,a5,a6,a7) +#define CINFO8(c, f,a1,a2,a3,a4,a5,a6,a7,a8) CLOG8(c, xbt_log_priority_info, f,a1,a2,a3,a4,a5,a6,a7,a8) #define CWARN0(c, f) CLOG0(c, xbt_log_priority_warning, f) #define CWARN1(c, f,a1) CLOG1(c, xbt_log_priority_warning, f,a1) @@ -465,6 +498,8 @@ extern xbt_log_appender_t xbt_log_default_appender; #define INFO4(f,a1,a2,a3,a4) LOG4(xbt_log_priority_info, f,a1,a2,a3,a4) #define INFO5(f,a1,a2,a3,a4,a5) LOG5(xbt_log_priority_info, f,a1,a2,a3,a4,a5) #define INFO6(f,a1,a2,a3,a4,a5,a6) LOG6(xbt_log_priority_info, f,a1,a2,a3,a4,a5,a6) +#define INFO7(f,a1,a2,a3,a4,a5,a6,a7) LOG7(xbt_log_priority_info, f,a1,a2,a3,a4,a5,a6,a7) +#define INFO8(f,a1,a2,a3,a4,a5,a6,a7,a8) LOG8(xbt_log_priority_info, f,a1,a2,a3,a4,a5,a6,a7,a8) /* @} */ /** \name WARN @@ -547,7 +582,9 @@ extern xbt_log_appender_t xbt_log_default_appender; #define XBT_IN2(fmt,a,b) LOG3(xbt_log_priority_trace, ">> begin of %s" fmt, _XBT_FUNCTION, a,b) #define XBT_IN3(fmt,a,b,c) LOG4(xbt_log_priority_trace, ">> begin of %s" fmt, _XBT_FUNCTION, a,b,c) #define XBT_IN4(fmt,a,b,c,d) LOG5(xbt_log_priority_trace, ">> begin of %s" fmt, _XBT_FUNCTION, a,b,c,d) +#define XBT_IN5(fmt,a,b,c,d,e) LOG6(xbt_log_priority_trace, ">> begin of %s" fmt, _XBT_FUNCTION, a,b,c,d,e) #define XBT_OUT LOG1(xbt_log_priority_trace, "<< end of %s", _XBT_FUNCTION) #define XBT_HERE LOG0(xbt_log_priority_trace, "-- was here") +SG_END_DECL() #endif /* ! _XBT_LOG_H_ */