X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6a6157abf9619875297ff1d16c1e5c63c526d4c1..3302686f8952854a69b0328f0efa3148d64548b2:/include/xbt/log.h diff --git a/include/xbt/log.h b/include/xbt/log.h index 1fa3d4de49..8ffe99f9c2 100644 --- a/include/xbt/log.h +++ b/include/xbt/log.h @@ -27,8 +27,12 @@ /* XBT_LOG_MAYDAY: define this to replace the logging facilities with basic printf function. Useful to debug the logging facilities themselves */ +#include "gras_config.h" #undef XBT_LOG_MAYDAY //#define XBT_LOG_MAYDAY +#ifdef _WIN64 + #define XBT_LOG_MAYDAY +#endif #ifndef _XBT_LOG_H_ #define _XBT_LOG_H_ @@ -402,9 +406,12 @@ extern xbt_log_layout_t xbt_log_default_layout; /* Logging Macros */ #ifdef XBT_LOG_MAYDAY -# define XBT_CLOG_(cat, prio, f, ...) \ - fprintf(stderr,"%s:%d:" f "%c", __FILE__, __LINE__, __VA_ARGS__) -# define XBT_CLOG(cat, prio, ...) XBT_CLOG_(cat, prio, __VA_ARGS__, '\n') +# define XBT_CLOG(cat, prio, ...) \ + _XBT_IF_ONE_ARG(_XBT_CLOG_ARG1, _XBT_CLOG_ARGN, __VA_ARGS__)(__VA_ARGS__) +# define _XBT_CLOG_ARG1(f) \ + fprintf(stderr,"%s:%d:\n" f, __FILE__, __LINE__) +# define _XBT_CLOG_ARGN(f, ...) \ + fprintf(stderr,"%s:%d:\n" f, __FILE__, __LINE__, __VA_ARGS__) # define XBT_LOG(...) XBT_CLOG(0, __VA_ARGS__) #else # define XBT_CLOG_(catv, prio, ...) \ @@ -427,8 +434,7 @@ extern xbt_log_layout_t xbt_log_default_layout; /** @ingroup XBT_log * @hideinitializer * \param c the category on which to log - * \param f the format string - * \param ... arguments of the format + * \param ... the format string and its arguments * @brief Log an event at the DEBUG priority on the specified category with these args. */ #define XBT_CDEBUG(c, ...) XBT_CLOG(c, xbt_log_priority_debug, __VA_ARGS__) @@ -465,8 +471,7 @@ extern xbt_log_layout_t xbt_log_default_layout; /** @ingroup XBT_log * @hideinitializer - * \param f the format string - * \param ... + * \param ... the format string and its arguments * @brief Log an event at the DEBUG priority on the default category with these args. */ #define XBT_DEBUG(...) XBT_LOG(xbt_log_priority_debug, __VA_ARGS__) @@ -505,10 +510,12 @@ extern xbt_log_layout_t xbt_log_default_layout; * @hideinitializer * @brief Log at TRACE priority that we entered in current function, appending a user specified format. */ -#define XBT_IN(...) XBT_IN_(__VA_ARGS__, "") -#define XBT_IN_(fmt, ...) \ - XBT_LOG(xbt_log_priority_trace, ">> begin of %s" fmt "%s", \ - _XBT_FUNCTION, __VA_ARGS__) +#define XBT_IN(...) \ + _XBT_IF_ONE_ARG(_XBT_IN_ARG1, _XBT_IN_ARGN, __VA_ARGS__)(__VA_ARGS__) +#define _XBT_IN_ARG1(fmt) \ + XBT_LOG(xbt_log_priority_trace, ">> begin of %s" fmt, _XBT_FUNCTION) +#define _XBT_IN_ARGN(fmt, ...) \ + XBT_LOG(xbt_log_priority_trace, ">> begin of %s" fmt, _XBT_FUNCTION, __VA_ARGS__) /** @ingroup XBT_log * @hideinitializer @@ -522,5 +529,186 @@ extern xbt_log_layout_t xbt_log_default_layout; */ #define XBT_HERE() XBT_LOG(xbt_log_priority_trace, "-- was here") +#ifdef XBT_USE_DEPRECATED + +/* Kept for backward compatibility. */ + +#define CLOG0(...) XBT_CLOG(__VA_ARGS__) +#define CLOG1(...) XBT_CLOG(__VA_ARGS__) +#define CLOG2(...) XBT_CLOG(__VA_ARGS__) +#define CLOG3(...) XBT_CLOG(__VA_ARGS__) +#define CLOG4(...) XBT_CLOG(__VA_ARGS__) +#define CLOG5(...) XBT_CLOG(__VA_ARGS__) +#define CLOG6(...) XBT_CLOG(__VA_ARGS__) +#define CLOG7(...) XBT_CLOG(__VA_ARGS__) +#define CLOG8(...) XBT_CLOG(__VA_ARGS__) +#define CLOG9(...) XBT_CLOG(__VA_ARGS__) +#define CLOG10(...) XBT_CLOG(__VA_ARGS__) + +#define CDEBUG0(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG1(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG2(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG3(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG4(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG5(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG6(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG7(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG8(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG9(...) XBT_CDEBUG(__VA_ARGS__) +#define CDEBUG10(...) XBT_CDEBUG(__VA_ARGS__) + +#define CVERB0(...) XBT_CVERB(__VA_ARGS__) +#define CVERB1(...) XBT_CVERB(__VA_ARGS__) +#define CVERB2(...) XBT_CVERB(__VA_ARGS__) +#define CVERB3(...) XBT_CVERB(__VA_ARGS__) +#define CVERB4(...) XBT_CVERB(__VA_ARGS__) +#define CVERB5(...) XBT_CVERB(__VA_ARGS__) +#define CVERB6(...) XBT_CVERB(__VA_ARGS__) +#define CVERB7(...) XBT_CVERB(__VA_ARGS__) +#define CVERB8(...) XBT_CVERB(__VA_ARGS__) +#define CVERB9(...) XBT_CVERB(__VA_ARGS__) +#define CVERB10(...) XBT_CVERB(__VA_ARGS__) + +#define CINFO0(...) XBT_CINFO(__VA_ARGS__) +#define CINFO1(...) XBT_CINFO(__VA_ARGS__) +#define CINFO2(...) XBT_CINFO(__VA_ARGS__) +#define CINFO3(...) XBT_CINFO(__VA_ARGS__) +#define CINFO4(...) XBT_CINFO(__VA_ARGS__) +#define CINFO5(...) XBT_CINFO(__VA_ARGS__) +#define CINFO6(...) XBT_CINFO(__VA_ARGS__) +#define CINFO7(...) XBT_CINFO(__VA_ARGS__) +#define CINFO8(...) XBT_CINFO(__VA_ARGS__) +#define CINFO9(...) XBT_CINFO(__VA_ARGS__) +#define CINFO10(...) XBT_CINFO(__VA_ARGS__) + +#define CWARN0(...) XBT_CWARN(__VA_ARGS__) +#define CWARN1(...) XBT_CWARN(__VA_ARGS__) +#define CWARN2(...) XBT_CWARN(__VA_ARGS__) +#define CWARN3(...) XBT_CWARN(__VA_ARGS__) +#define CWARN4(...) XBT_CWARN(__VA_ARGS__) +#define CWARN5(...) XBT_CWARN(__VA_ARGS__) +#define CWARN6(...) XBT_CWARN(__VA_ARGS__) +#define CWARN7(...) XBT_CWARN(__VA_ARGS__) +#define CWARN8(...) XBT_CWARN(__VA_ARGS__) +#define CWARN9(...) XBT_CWARN(__VA_ARGS__) +#define CWARN10(...) XBT_CWARN(__VA_ARGS__) + +#define CERROR0(...) XBT_CERROR(__VA_ARGS__) +#define CERROR1(...) XBT_CERROR(__VA_ARGS__) +#define CERROR2(...) XBT_CERROR(__VA_ARGS__) +#define CERROR3(...) XBT_CERROR(__VA_ARGS__) +#define CERROR4(...) XBT_CERROR(__VA_ARGS__) +#define CERROR5(...) XBT_CERROR(__VA_ARGS__) +#define CERROR6(...) XBT_CERROR(__VA_ARGS__) +#define CERROR7(...) XBT_CERROR(__VA_ARGS__) +#define CERROR8(...) XBT_CERROR(__VA_ARGS__) +#define CERROR9(...) XBT_CERROR(__VA_ARGS__) +#define CERROR10(...) XBT_CERROR(__VA_ARGS__) + +#define CCRITICAL0(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL1(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL2(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL3(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL4(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL5(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL6(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL7(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL8(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL9(...) XBT_CCRITICAL(__VA_ARGS__) +#define CCRITICAL10(...) XBT_CCRITICAL(__VA_ARGS__) + +#define LOG0(...) XBT_LOG(__VA_ARGS__) +#define LOG1(...) XBT_LOG(__VA_ARGS__) +#define LOG2(...) XBT_LOG(__VA_ARGS__) +#define LOG3(...) XBT_LOG(__VA_ARGS__) +#define LOG4(...) XBT_LOG(__VA_ARGS__) +#define LOG5(...) XBT_LOG(__VA_ARGS__) +#define LOG6(...) XBT_LOG(__VA_ARGS__) +#define LOG7(...) XBT_LOG(__VA_ARGS__) +#define LOG8(...) XBT_LOG(__VA_ARGS__) +#define LOG9(...) XBT_LOG(__VA_ARGS__) +#define LOG10(...) XBT_LOG(__VA_ARGS__) + +#define DEBUG0(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG1(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG2(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG3(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG4(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG5(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG6(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG7(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG8(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG9(...) XBT_DEBUG(__VA_ARGS__) +#define DEBUG10(...) XBT_DEBUG(__VA_ARGS__) + +#define VERB0(...) XBT_VERB(__VA_ARGS__) +#define VERB1(...) XBT_VERB(__VA_ARGS__) +#define VERB2(...) XBT_VERB(__VA_ARGS__) +#define VERB3(...) XBT_VERB(__VA_ARGS__) +#define VERB4(...) XBT_VERB(__VA_ARGS__) +#define VERB5(...) XBT_VERB(__VA_ARGS__) +#define VERB6(...) XBT_VERB(__VA_ARGS__) +#define VERB7(...) XBT_VERB(__VA_ARGS__) +#define VERB8(...) XBT_VERB(__VA_ARGS__) +#define VERB9(...) XBT_VERB(__VA_ARGS__) +#define VERB10(...) XBT_VERB(__VA_ARGS__) + +#define INFO0(...) XBT_INFO(__VA_ARGS__) +#define INFO1(...) XBT_INFO(__VA_ARGS__) +#define INFO2(...) XBT_INFO(__VA_ARGS__) +#define INFO3(...) XBT_INFO(__VA_ARGS__) +#define INFO4(...) XBT_INFO(__VA_ARGS__) +#define INFO5(...) XBT_INFO(__VA_ARGS__) +#define INFO6(...) XBT_INFO(__VA_ARGS__) +#define INFO7(...) XBT_INFO(__VA_ARGS__) +#define INFO8(...) XBT_INFO(__VA_ARGS__) +#define INFO9(...) XBT_INFO(__VA_ARGS__) +#define INFO10(...) XBT_INFO(__VA_ARGS__) + +#define WARN0(...) XBT_WARN(__VA_ARGS__) +#define WARN1(...) XBT_WARN(__VA_ARGS__) +#define WARN2(...) XBT_WARN(__VA_ARGS__) +#define WARN3(...) XBT_WARN(__VA_ARGS__) +#define WARN4(...) XBT_WARN(__VA_ARGS__) +#define WARN5(...) XBT_WARN(__VA_ARGS__) +#define WARN6(...) XBT_WARN(__VA_ARGS__) +#define WARN7(...) XBT_WARN(__VA_ARGS__) +#define WARN8(...) XBT_WARN(__VA_ARGS__) +#define WARN9(...) XBT_WARN(__VA_ARGS__) +#define WARN10(...) XBT_WARN(__VA_ARGS__) + +#define ERROR0(...) XBT_ERROR(__VA_ARGS__) +#define ERROR1(...) XBT_ERROR(__VA_ARGS__) +#define ERROR2(...) XBT_ERROR(__VA_ARGS__) +#define ERROR3(...) XBT_ERROR(__VA_ARGS__) +#define ERROR4(...) XBT_ERROR(__VA_ARGS__) +#define ERROR5(...) XBT_ERROR(__VA_ARGS__) +#define ERROR6(...) XBT_ERROR(__VA_ARGS__) +#define ERROR7(...) XBT_ERROR(__VA_ARGS__) +#define ERROR8(...) XBT_ERROR(__VA_ARGS__) +#define ERROR9(...) XBT_ERROR(__VA_ARGS__) +#define ERROR10(...) XBT_ERROR(__VA_ARGS__) + +#define CRITICAL0(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL1(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL2(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL3(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL4(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL5(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL6(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL7(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL8(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL9(...) XBT_CRITICAL(__VA_ARGS__) +#define CRITICAL10(...) XBT_CRITICAL(__VA_ARGS__) + +#define XBT_IN1(...) XBT_IN(__VA_ARGS__); +#define XBT_IN2(...) XBT_IN(__VA_ARGS__); +#define XBT_IN3(...) XBT_IN(__VA_ARGS__); +#define XBT_IN4(...) XBT_IN(__VA_ARGS__); +#define XBT_IN5(...) XBT_IN(__VA_ARGS__); +#define XBT_IN6(...) XBT_IN(__VA_ARGS__); + +#endif + SG_END_DECL() #endif /* ! _XBT_LOG_H_ */