* Creates a new subcategory of the root category and makes it the default
* (used by macros that don't explicitly specify a category).
*/
-
- /*
#if (defined(_WIN32) && !defined(DLL_STATIC))
# define XBT_LOG_NEW_ROOT_SUBCATEGORY(cname,desc) \
XBT_EXPORT_NO_IMPORT(s_xbt_log_category_t) _XBT_LOGV(cname) = { \
0, 0, 0, \
#cname, xbt_log_priority_uninitialized, 1, \
- 0, 1 \
+ 0, 0, 1 \
}
# define XBT_LOG_NEW_DEFAULT_CATEGORY(cname,desc) \
XBT_LOG_NEW_ROOT_SUBCATEGORY(cname,desc); \
XBT_LOG_DEFAULT_CATEGORY(cname)
#else
-*/
# define XBT_LOG_NEW_DEFAULT_CATEGORY(cname,desc) \
XBT_LOG_NEW_CATEGORY(cname,desc); \
XBT_LOG_DEFAULT_CATEGORY(cname)
-
-//#endif
+#endif
/*
* Do NOT access any members of this structure directly. FIXME: move to private?
*/
+#define XBT_LOG_BUFF_SIZE 2048 /* Size of the static string in which we build the log string */
struct xbt_log_category_s {
xbt_log_category_t parent;
xbt_log_category_t firstChild;
};
struct xbt_log_layout_s {
- char *(*do_layout)(xbt_log_layout_t l,
- xbt_log_event_t event, const char *fmt);
+ void (*do_layout)(xbt_log_layout_t l,
+ xbt_log_event_t event, const char *fmt);
void (*free_) (xbt_log_layout_t l);
void *data;
} ;
const char* functionName;
int lineNum;
va_list ap;
+ char buffer[XBT_LOG_BUFF_SIZE];
};
/**
e_xbt_log_priority_t priority);
-extern XBT_IMPORT_NO_EXPORT(s_xbt_log_category_t) _XBT_LOGV(XBT_LOG_ROOT_CAT);
+extern XBT_PUBLIC_DATA(s_xbt_log_category_t) _XBT_LOGV(XBT_LOG_ROOT_CAT);
XBT_LOG_EXTERNAL_CATEGORY(GRAS);
#define _XBT_LOG_PRE(catv, priority) do { \
if (_XBT_LOG_ISENABLEDV(catv, priority)) { \
s_xbt_log_event_t _log_ev = \
- {NULL,priority,__FILE__,_XBT_FUNCTION,__LINE__}; \
+ {NULL,priority,__FILE__,_XBT_FUNCTION,__LINE__}; \
_log_ev.cat = &(catv); \
_xbt_log_event_log(&_log_ev \