Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update changelog for windows.
[simgrid.git] / doc / gtut-tour-06-logs.doc
index 1a9c44a..347abdb 100644 (file)
@@ -6,7 +6,9 @@
  - \ref GRAS_tut_tour_logs_practice
  - \ref GRAS_tut_tour_logs_recap
  - \ref GRAS_tut_tour_logs_config
-    
+   - \ref GRAS_tut_tour_logs_config_prio
+   - \ref GRAS_tut_tour_logs_config_layout
+   
 <hr>
 
 \section GRAS_tut_tour_logs_intro Introduction
@@ -77,17 +79,12 @@ course, it's the only one).
 \until XBT_LOG
 
 Then, we change any call to fprintf to one of the logging macros. There is a
-plenty of them, called &lt;priority&gt;&lt;nb args&gt;, such as #DEBUG10,
-which produces a debuging log event onto the default category. You have to
-declare the name of arguments as part of the macro name for compatibility
-with old compilers not accepting variable number of arguments. Here is a
-partial list of the existing macros: #DEBUG10, #VERB10, #INFO10, #WARN10,
-#ERROR10 and #CRITICAL10. For each priority, this is the biggest macro (and
-the others are not documented for sake of clarity in the relevant document).
-Ie, VERB20 does not exist, but VERB0 does exist. I may add more if someone
-wants more, but that should be enough for most purposes.
-
-Note also that there is no need to add a '\n' at the end of your format
+plenty of them, called &lt;priority&gt;&lt;nb args&gt;, such as #XBT_DEBUG,
+which produces a debuging log event onto the default category. Here is a
+list of the existing macros: #XBT_DEBUG, #XBT_VERB, #XBT_INFO, #XBT_WARN,
+#XBT_ERROR and #XBT_CRITICAL.
+
+Note also that there is no need to add a '\\n' at the end of your format
 line, it gets automatically added.
 
 \section GRAS_tut_tour_logs_recap Recapping everything together
@@ -101,14 +98,35 @@ And the output now looks better:
 
 \section GRAS_tut_tour_logs_config The user side: configuring logs at run time
 
+\subsection GRAS_tut_tour_logs_config_prio Choosing what gets displayed
+
 Once we changed our program to use proper logging, it is naturally possible
 to choose at run time what we want to see. For example, if we want more
-details about our code, we should do (note that a VERBOSE line appears on
-client side):
+details about our code, we should pass <tt>--log=test.thres:verbose</tt>
+on the command line of our programs to change the <tt>thres</tt>old.
+Note that a VERBOSE line appears on client side:
 \include 06-logs.output.verbose
 
 On the contrary, if we want to reduce the amount of logging, we may want to
-do: \include 06-logs.output.error
+do pass <tt>--log=test.thres:error</tt>: 
+
+\subsection GRAS_tut_tour_logs_config_layout Choosing how things get displayed
+
+As with SimGrid 3.3, it is also possible to change how each and every
+message get displayed from the command line without even recompiling
+your code. This is done by changing the <tt>fmt</tt> field of the
+category you want to change. The value of this field is somehow
+similar to printf's format strings, with several existing specifiers.
+
+For example, if you just want the message you passed to the macro
+without any decoration about the host which raised it, its pid and
+everything, just pass <tt>--log=test.fmt:%m</tt>:
+\include 06-logs.output.fmt
+
+For debuging purpose, you can even ask to get the backtrace at each
+execution point:
+\include 06-logs.output.fmt-bt
+
 
 Again, you should refer to the \ref XBT_log section for more information on
 how to configure the logs. Or you can proceed with the next lesson, of