X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9f6cbb176d4301cae36a945dfa57e6b6a9cbafef..680abdb047c1a66d3ccc14cad518117773c3cc8c:/include/xbt/log.h diff --git a/include/xbt/log.h b/include/xbt/log.h index 56d98712dd..be33e8664f 100644 --- a/include/xbt/log.h +++ b/include/xbt/log.h @@ -1,7 +1,6 @@ /* log - a generic logging facility in the spirit of log4j */ -/* Copyright (c) 2004-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2004-2015. The SimGrid Team. All rights reserved. */ /* 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. */ @@ -13,22 +12,21 @@ /** \defgroup XBT_log_cats Existing log categories * \ingroup XBT_log - * \brief (automatically extracted) + * \brief (automatically extracted) * * This is the list of all existing log categories in SimGrid. * This list is automatically extracted from the source code by the tools/doxygen/xbt_log_extract_hierarchy.pl utility. * - * You can thus be certain that it is uptodate, but it may somehow lack a final manual touch. - * Anyway, nothing's perfect ;) + * It should thus contain every categories that are defined in the SimGrid library. + * If you want to see the one defined in your code in addition, provide `--help-logs` on the command line of your simulator. */ /* 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 + printf function. Useful to debug the logging facilities themselves, or to not make source analysis tools mad */ //#define XBT_LOG_MAYDAY -#ifndef _XBT_LOG_H_ -#define _XBT_LOG_H_ +#ifndef XBT_LOG_H +#define XBT_LOG_H #include "xbt/misc.h" #include @@ -152,14 +150,14 @@ typedef enum { * \param desc string describing the purpose of this category * \hideinitializer * - * Defines a new subcategory of the parent. + * Defines a new subcategory of the parent. */ #define XBT_LOG_NEW_SUBCATEGORY(catName, parent, desc) \ XBT_LOG_EXTERNAL_CATEGORY(parent); \ XBT_LOG_NEW_SUBCATEGORY_helper(catName, parent, desc) \ /** - * \ingroup XBT_log + * \ingroup XBT_log * \param catName name of new category * \param desc string describing the purpose of this category * \hideinitializer @@ -170,7 +168,7 @@ typedef enum { XBT_LOG_NEW_SUBCATEGORY_helper(catName, XBT_LOG_ROOT_CAT, desc) /** - * \ingroup XBT_log + * \ingroup XBT_log * \param cname name of the cat * \hideinitializer * @@ -185,7 +183,7 @@ typedef enum { #endif /** - * \ingroup XBT_log + * \ingroup XBT_log * \param cname name of the cat * \param desc string describing the purpose of this category * \hideinitializer @@ -198,7 +196,7 @@ typedef enum { XBT_LOG_DEFAULT_CATEGORY(cname) /** - * \ingroup XBT_log + * \ingroup XBT_log * \param cname name of the cat * \param parent name of the parent * \param desc string describing the purpose of this category @@ -212,7 +210,7 @@ typedef enum { XBT_LOG_DEFAULT_CATEGORY(cname) /** - * \ingroup XBT_log + * \ingroup XBT_log * \param cname name of the cat * \hideinitializer * @@ -239,10 +237,14 @@ typedef enum { XBT_PUBLIC(void) xbt_log_control_set(const char *cs); /* Forward declarations */ -typedef struct xbt_log_appender_s s_xbt_log_appender_t, *xbt_log_appender_t; -typedef struct xbt_log_layout_s s_xbt_log_layout_t, *xbt_log_layout_t; -typedef struct xbt_log_event_s s_xbt_log_event_t, *xbt_log_event_t; -typedef struct xbt_log_category_s s_xbt_log_category_t, *xbt_log_category_t; +typedef struct xbt_log_appender_s s_xbt_log_appender_t; +typedef struct xbt_log_appender_s* xbt_log_appender_t; +typedef struct xbt_log_layout_s s_xbt_log_layout_t; +typedef struct xbt_log_layout_s* xbt_log_layout_t; +typedef struct xbt_log_event_s s_xbt_log_event_t; +typedef struct xbt_log_event_s* xbt_log_event_t; +typedef struct xbt_log_category_s s_xbt_log_category_t; +typedef struct xbt_log_category_s* xbt_log_category_t; /* Do NOT access any members of this structure directly. FIXME: move to private? */ @@ -281,7 +283,7 @@ struct xbt_log_event_s { XBT_PUBLIC(void) xbt_log_threshold_set(xbt_log_category_t cat, e_xbt_log_priority_t thresholdPriority); /** - * \ingroup XBT_log_implem + * \ingroup XBT_log_implem * \param cat the category (not only its name, but the variable) * \param app the appender * @@ -289,7 +291,7 @@ XBT_PUBLIC(void) xbt_log_threshold_set(xbt_log_category_t cat, e_xbt_log_priorit */ XBT_PUBLIC(void) xbt_log_appender_set(xbt_log_category_t cat, xbt_log_appender_t app); /** - * \ingroup XBT_log_implem + * \ingroup XBT_log_implem * \param cat the category (not only its name, but the variable) * \param lay the layout * @@ -298,7 +300,7 @@ XBT_PUBLIC(void) xbt_log_appender_set(xbt_log_category_t cat, xbt_log_appender_t XBT_PUBLIC(void) xbt_log_layout_set(xbt_log_category_t cat, xbt_log_layout_t lay); /** - * \ingroup XBT_log_implem + * \ingroup XBT_log_implem * \param cat the category (not only its name, but the variable) * \param additivity whether logging actions must be passed to parent. * @@ -307,7 +309,7 @@ XBT_PUBLIC(void) xbt_log_layout_set(xbt_log_category_t cat, xbt_log_layout_t lay */ XBT_PUBLIC(void) xbt_log_additivity_set(xbt_log_category_t cat, int additivity); -/** @brief create a new simple layout +/** @brief create a new simple layout * * This layout is not as flexible as the pattern one */ @@ -319,6 +321,7 @@ XBT_PUBLIC(xbt_log_appender_t) xbt_log_appender2_file_new(char *arg,int roll); /* ********************************** */ /* Functions that you shouldn't call */ /* ********************************** */ +XBT_PUBLIC(void) xbt_log_init(int *argc, char **argv); XBT_PUBLIC(void) _xbt_log_event_log(xbt_log_event_t ev, const char *fmt, ...) XBT_ATTRIB_PRINTF(2, 3); XBT_PUBLIC(int) _xbt_log_cat_init(xbt_log_category_t category, e_xbt_log_priority_t priority); @@ -340,7 +343,7 @@ extern xbt_log_layout_t xbt_log_default_layout; /* ********************** */ /** - * \ingroup XBT_log + * \ingroup XBT_log * \param catName name of the category * \param priority minimal priority to be enabled to return true (must be #e_xbt_log_priority_t) * \hideinitializer @@ -397,7 +400,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = &(category); \ _log_ev.priority = (prio); \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -410,7 +413,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = _simgrid_log_category__default; \ _log_ev.priority = (prio); \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -430,7 +433,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = &(_XBT_LOGV(categ)); \ _log_ev.priority = xbt_log_priority_debug; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -447,7 +450,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = &(_XBT_LOGV(categ)); \ _log_ev.priority = xbt_log_priority_verbose; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -464,7 +467,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = &(_XBT_LOGV(categ)); \ _log_ev.priority = xbt_log_priority_info; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -482,7 +485,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = &(_XBT_LOGV(categ)); \ _log_ev.priority = xbt_log_priority_warning; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -500,7 +503,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = &(_XBT_LOGV(categ)); \ _log_ev.priority = xbt_log_priority_error; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -517,7 +520,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = &(_XBT_LOGV(categ)); \ _log_ev.priority = xbt_log_priority_critical; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -536,7 +539,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = _simgrid_log_category__default; \ _log_ev.priority = xbt_log_priority_debug; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -554,7 +557,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = _simgrid_log_category__default; \ _log_ev.priority = xbt_log_priority_verbose; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -572,7 +575,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = _simgrid_log_category__default; \ _log_ev.priority = xbt_log_priority_info; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -590,7 +593,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = _simgrid_log_category__default; \ _log_ev.priority = xbt_log_priority_warning; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -608,7 +611,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = _simgrid_log_category__default; \ _log_ev.priority = xbt_log_priority_error; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -626,7 +629,7 @@ extern xbt_log_layout_t xbt_log_default_layout; _log_ev.cat = _simgrid_log_category__default; \ _log_ev.priority = xbt_log_priority_critical; \ _log_ev.fileName = __FILE__; \ - _log_ev.functionName = _XBT_FUNCTION; \ + _log_ev.functionName = __func__; \ _log_ev.lineNum = __LINE__; \ _xbt_log_event_log(&_log_ev, __VA_ARGS__); \ } \ @@ -635,9 +638,9 @@ extern xbt_log_layout_t xbt_log_default_layout; #define _XBT_IN_OUT(...) \ _XBT_IF_ONE_ARG(_XBT_IN_OUT_ARG1, _XBT_IN_OUT_ARGN, __VA_ARGS__)(__VA_ARGS__) #define _XBT_IN_OUT_ARG1(fmt) \ - XBT_LOG(xbt_log_priority_trace, fmt, _XBT_FUNCTION) + XBT_LOG(xbt_log_priority_trace, fmt, __func__) #define _XBT_IN_OUT_ARGN(fmt, ...) \ - XBT_LOG(xbt_log_priority_trace, fmt, _XBT_FUNCTION, __VA_ARGS__) + XBT_LOG(xbt_log_priority_trace, fmt, __func__, __VA_ARGS__) /** @ingroup XBT_log * @hideinitializer