X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3302686f8952854a69b0328f0efa3148d64548b2..4055c3365c0644e74d06aa1dc70b2188166da41b:/include/xbt/log.h diff --git a/include/xbt/log.h b/include/xbt/log.h index 8ffe99f9c2..c0d9448a9d 100644 --- a/include/xbt/log.h +++ b/include/xbt/log.h @@ -1,6 +1,6 @@ /* log - a generic logging facility in the spirit of log4j */ -/* Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2004-2011. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -27,12 +27,8 @@ /* 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_ @@ -133,6 +129,7 @@ typedef enum { NULL /* firstChild */, \ NULL /* nextSibling */, \ #catName, \ + 0 /*initialized */, \ xbt_log_priority_uninitialized /* threshold */, \ 1 /* isThreshInherited */, \ NULL /* appender */, \ @@ -245,16 +242,13 @@ typedef struct xbt_log_category_s s_xbt_log_category_t, /* * Do NOT access any members of this structure directly. FIXME: move to private? */ -#ifdef _XBT_WIN32 -#define XBT_LOG_BUFF_SIZE 16384 /* Size of the static string in which we build the log string */ -#else -#define XBT_LOG_BUFF_SIZE 2048 /* Size of the static string in which we build the log string */ -#endif + struct xbt_log_category_s { xbt_log_category_t parent; xbt_log_category_t firstChild; xbt_log_category_t nextSibling; const char *name; + int initialized; int threshold; int isThreshInherited; xbt_log_appender_t appender; @@ -269,12 +263,8 @@ struct xbt_log_event_s { const char *functionName; int lineNum; va_list ap; - va_list ap_copy; /* need a copy to launch dynamic layouts when the static ones overflowed */ -#ifdef _XBT_WIN32 char *buffer; -#else - char buffer[XBT_LOG_BUFF_SIZE]; -#endif + int buffer_size; }; /** @@ -373,13 +363,12 @@ extern xbt_log_layout_t xbt_log_default_layout; * * NOTES * First part is a compile-time constant. - * Call to _log_initCat only happens once. + * Call to xbt_log_cat_init only happens once. */ #define _XBT_LOG_ISENABLEDV(catv, priority) \ (priority >= XBT_LOG_STATIC_THRESHOLD \ - && priority >= catv.threshold \ - && (catv.threshold != xbt_log_priority_uninitialized \ - || _xbt_log_cat_init(&catv, priority)) ) + && (catv.initialized || _xbt_log_cat_init(&catv, priority)) \ + && priority >= catv.threshold) /* * Internal Macros @@ -393,15 +382,6 @@ extern xbt_log_layout_t xbt_log_default_layout; * code. * Setting the LogEvent's valist member is done inside _log_logEvent. */ -#ifdef _XBT_WIN32 -#include /* calloc */ -#define _XBT_LOG_EV_BUFFER_ZERO() \ - _log_ev.buffer = (char*) calloc(XBT_LOG_BUFF_SIZE + 1, sizeof(char)) -#else -#include /* memset */ -#define _XBT_LOG_EV_BUFFER_ZERO() \ - memset(_log_ev.buffer, 0, XBT_LOG_BUFF_SIZE) -#endif /* Logging Macros */ @@ -423,7 +403,6 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.fileName = __FILE__; \ _log_ev.functionName = _XBT_FUNCTION; \ _log_ev.lineNum = __LINE__; \ - _XBT_LOG_EV_BUFFER_ZERO(); \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ } while (0)