option and specify the max file size. This would be a nice default for
non-kernel applications.
- Careful, category names are global variables.
- - When writting a log format, you often want to use spaces. If you don't protect these spaces, they are used as configuration elements separators.
+ - When writing a log format, you often want to use spaces. If you don't
+ protect these spaces, they are used as configuration elements separators.
For example, if you want to remove the date from the logs, you want to pass the following
argument on the command line. The outer quotes are here to protect the string from the shell
interpretation while the inner ones are there to prevent simgrid from splitting the string
in several log parameters (that would be invalid).
-
-\verbatim --log="'root.fmt:%l: [%p/%c]: %m%n'"\endverbatim
+ \verbatim --log="'root.fmt:%l: [%p/%c]: %m%n'"\endverbatim
+ Another option is to use the SimGrid-specific format directive \%e for
+ spaces, like in the following.
+ \verbatim --log="root.fmt:%l:%e[%p/%c]:%e%m%n"\endverbatim
\section log_internals 4. Internal considerations
XBT_LOG_CONNECT(xbt);
XBT_LOG_CONNECT(graphxml_parse);
XBT_LOG_CONNECT(log);
-#if HAVE_MMALLOC
- XBT_LOG_CONNECT(mm_diff);
-#endif
XBT_LOG_CONNECT(module);
XBT_LOG_CONNECT(peer);
XBT_LOG_CONNECT(replay);
#ifdef HAVE_MC
XBT_LOG_CONNECT(mc);
XBT_LOG_CONNECT(mc_checkpoint);
+ XBT_LOG_CONNECT(mc_comm_determinism);
XBT_LOG_CONNECT(mc_compare);
- XBT_LOG_CONNECT(mc_dpor);
+ XBT_LOG_CONNECT(mc_diff);
XBT_LOG_CONNECT(mc_dwarf);
XBT_LOG_CONNECT(mc_global);
XBT_LOG_CONNECT(mc_hash);
+ XBT_LOG_CONNECT(mc_ignore);
XBT_LOG_CONNECT(mc_liveness);
XBT_LOG_CONNECT(mc_memory);
XBT_LOG_CONNECT(mc_memory_map);
+ XBT_LOG_CONNECT(mc_page_snapshot);
XBT_LOG_CONNECT(mc_request);
+ XBT_LOG_CONNECT(mc_safety);
+ XBT_LOG_CONNECT(mc_visited);
#endif
/* msg */
XBT_LOG_CONNECT(msg_io);
XBT_LOG_CONNECT(msg_kernel);
XBT_LOG_CONNECT(msg_mailbox);
- XBT_LOG_CONNECT(msg_new_API);
XBT_LOG_CONNECT(msg_process);
XBT_LOG_CONNECT(msg_synchro);
XBT_LOG_CONNECT(msg_task);
XBT_LOG_CONNECT(simix_io);
XBT_LOG_CONNECT(simix_kernel);
XBT_LOG_CONNECT(simix_network);
- XBT_LOG_CONNECT(simix_new_api);
XBT_LOG_CONNECT(simix_process);
- XBT_LOG_CONNECT(simix_smurf);
+ XBT_LOG_CONNECT(simix_popping);
XBT_LOG_CONNECT(simix_synchro);
XBT_LOG_CONNECT(simix_vm);
XBT_LOG_CONNECT(surf_route_cluster);
XBT_LOG_CONNECT(surf_route_cluster_torus);
XBT_LOG_CONNECT(surf_route_dijkstra);
+ XBT_LOG_CONNECT(surf_route_fat_tree);
XBT_LOG_CONNECT(surf_route_floyd);
XBT_LOG_CONNECT(surf_route_full);
XBT_LOG_CONNECT(surf_route_none);
eq = control_string;
control_string += strcspn(control_string, " ");
- xbt_assert(*dot == '.' && (*eq == '=' || *eq == ':'),
- "Invalid control string '%s'", orig_control_string);
+ if(*dot != '.' && (*eq == '=' || *eq == ':'))
+ xbt_die ("Invalid control string '%s'", orig_control_string);
if (!strncmp(dot + 1, "threshold", (size_t) (eq - dot - 1))) {
int i;