X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a5194b904f176eda18c7d275446589aaa233ed28..b0d7c3272f2838a9252c0cf650b9231b07bea4d3:/src/xbt/xbt_log_layout_format.cpp diff --git a/src/xbt/xbt_log_layout_format.cpp b/src/xbt/xbt_log_layout_format.cpp index 872c4c56fa..3dedbd7342 100644 --- a/src/xbt/xbt_log_layout_format.cpp +++ b/src/xbt/xbt_log_layout_format.cpp @@ -1,6 +1,6 @@ /* layout_simple - a dumb log layout */ -/* Copyright (c) 2007-2020. The SimGrid Team. */ +/* Copyright (c) 2007-2021. The SimGrid Team. */ /* 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. */ @@ -18,7 +18,7 @@ static constexpr const char* ERRMSG = " what: %%m: user message %%c: log category %%p: log priority\n" " where:\n" " source: %%F: file %%L: line %%M: function %%l: location (%%F:%%L)\n" - " runtime: %%h: hostname %%t: thread %%P: process %%i: PID\n" + " runtime: %%h: hostname %%a: actor %%i: PID\n" " when: %%d: date %%r: app. age\n" " other: %%%%: %% %%n: new line %%e: plain space\n"; @@ -87,6 +87,8 @@ static bool xbt_log_layout_format_doit(const s_xbt_log_layout_t* l, xbt_log_even // *q == '%' q++; do { + int sz; + int len; switch (*q) { case '\0': fprintf(stderr, "Layout format (%s) ending with %%\n", (char*)l->data); @@ -129,22 +131,21 @@ static bool xbt_log_layout_format_doit(const s_xbt_log_layout_t* l, xbt_log_even show_string(sg_host_self_get_name()); break; case 't': /* thread/process name; LOG4J compliant */ - case 'P': /* process name; SimGrid extension */ + case 'P': /* Used before SimGrid 3.26 and kept for compatiblity. Should not hurt. */ + case 'a': /* actor name; SimGrid extension */ show_string(xbt_procname()); break; - case 'i': /* process PID name; SimGrid extension */ + case 'i': /* actor ID; SimGrid extension */ show_int(xbt_getpid()); break; case 'F': /* file name; LOG4J compliant */ show_string(ev->fileName); break; - case 'l': { /* location; LOG4J compliant */ - int sz; + case 'l': /* location; LOG4J compliant */ set_sz_from_precision(); - int len = snprintf(p, sz, "%s:%d", ev->fileName, ev->lineNum); + len = snprintf(p, sz, "%s:%d", ev->fileName, ev->lineNum); check_overflow(std::min(sz, len)); break; - } case 'L': /* line number; LOG4J compliant */ show_int(ev->lineNum); break; @@ -155,16 +156,14 @@ static bool xbt_log_layout_format_doit(const s_xbt_log_layout_t* l, xbt_log_even case 'r': /* application age; LOG4J compliant */ show_double(simgrid_get_clock()); break; - case 'm': { /* user-provided message; LOG4J compliant */ - int sz; + case 'm': /* user-provided message; LOG4J compliant */ set_sz_from_precision(); va_list ap; va_copy(ap, ev->ap); - int len = vsnprintf(p, sz, msg_fmt, ap); + len = vsnprintf(p, sz, msg_fmt, ap); va_end(ap); check_overflow(std::min(sz, len)); break; - } default: fprintf(stderr, ERRMSG, *q, (char*)l->data); xbt_abort();