<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<BODY bgcolor="FFFFFF">
<title>
          CMS MessageLogger: Framework Job Reports
</title>

<center>
<h1> <img src="header-public.gif" align="center"> </h1>

<font color=red>
<h1>CMS MessageLogger Service
<br> 
Framework Job Reports</h1>
</font>
</center>

Ordinary output destinations are formatted for human readability.
CMS has specified an alternative <em>xml</em> format which may
facilitate the creation of automated parsing tools for programmatic
understanding of log files.

<pre>
process TEST = {

 service = MessageLogger {
    vstring destinations =  {   "detailedInfo.txt"
                              , "critical.txt"
                            }
    <font color=red>vstring fwkJobReports = {   "long_job_report.xml"
     			      , "terse_job_report.xml" 
			    }</font>

    <font color=red>PSet long_job_report.xml  = { string threshold = "INFO"  }</font>
    <font color=red>PSet terse_job_report.xml = { string threshold = "ERROR" }</font>
  }
  untracked PSet maxEvents = {untracked int32 input = 5}
  path p = { myAnalysisModule }
  module myAnalysisModule = ModuleThatIssuesMessages { }
  source = EmptySource { }
}
</pre>

The  <font color=red>vstring fwkJobReports = { ... }</font> parameter
instructs the message logger to form one or more (in this case, two) 
<font color=blue>ELfwkJobReport</font> destinations. 
Each such destination can be (and in the above example is)
controlled by a PSet, establishing thresholds and limits.
<p>
One set of limits is imposed on the 
<font color=blue>ELfwkJobReport</font> destination
by default and need not be mentioned in the .cfg file:
The routine informational messages from the framework reporting 
transitions between modules and the start of each new event are
defaulted to a limit of zero (and thus will not appear in the file, unless
the .cfg file explicitly sets a different limit for them).

<p>
The format of the output is illustrated by this example, from 
long_job_report.xml:
<font color=blue>
<pre>
&lt;FrameworkJobReport&gt;
 
  &lt;Report&gt;
    &lt;Severity&gt; -e &lt;/Severity&gt;
    &lt;Category&gt; cat_A &lt;/Category&gt;
    &lt;Message&gt;
      &lt;Item&gt; LogError was used to send this message  &lt;/Item&gt;
    &lt;/Message&gt;
    &lt;Module&gt; UnitTestClient_A:sendSomeMessages &lt;/Module&gt;
  &lt;/Report&gt;
 
  &lt;Report&gt;
    &lt;Severity&gt; -e &lt;/Severity&gt;
    &lt;Category&gt; cat_B &lt;/Category&gt;
    &lt;Message&gt;
      &lt;Item&gt; LogError was used to send this other message  &lt;/Item&gt;
    &lt;/Message&gt;
    &lt;Module&gt; UnitTestClient_A:sendSomeMessages &lt;/Module&gt;
  &lt;/Report&gt;
 
  &lt;Report&gt;
    &lt;Severity&gt; -w &lt;/Severity&gt;
    &lt;Category&gt; cat_A &lt;/Category&gt;
    &lt;Message&gt;
      &lt;Item&gt; LogWarning was used to send a message with the number &lt;/Item&gt;
      &lt;Item&gt; 46 &lt;/Item&gt;
      &lt;Item&gt; and this other string streamed to the logger &lt;/Item&gt;
    &lt;/Message&gt;
    &lt;Module&gt; UnitTestClient_A:sendSomeMessages &lt;/Module&gt;
  &lt;/Report&gt;
 
  &lt;Report&gt;
    &lt;Severity&gt; -w &lt;/Severity&gt;
    &lt;Category&gt; cat_B &lt;/Category&gt;
    &lt;Message&gt;
      &lt;Item&gt; LogWarning was used to send this other message  &lt;/Item&gt;
    &lt;/Message&gt;
    &lt;Module&gt; UnitTestClient_A:sendSomeMessages &lt;/Module&gt;
  &lt;/Report&gt;
 
  &lt;Report&gt;
    &lt;Severity&gt; -i &lt;/Severity&gt;
    &lt;Category&gt; cat_A &lt;/Category&gt;
    &lt;Message&gt;
      &lt;Item&gt; LogInfo was used to send this message  &lt;/Item&gt;
    &lt;/Message&gt;
    &lt;Module&gt; UnitTestClient_A:sendSomeMessages &lt;/Module&gt;
  &lt;/Report&gt;
                                                                                                    
  &lt;Report&gt;
    &lt;Severity&gt; -i &lt;/Severity&gt;
    &lt;Category&gt; cat_B &lt;/Category&gt;
    &lt;Message&gt;
      &lt;Item&gt; LogInfo was used to send this other message  &lt;/Item&gt;
    &lt;/Message&gt;
    &lt;Module&gt; UnitTestClient_A:sendSomeMessages &lt;/Module&gt;
  &lt;/Report&gt;
  
 &lt;/FrameworkJobReport&gt;
</pre>
</font>
<p><center>
<img src="bar.gif"></center>

<p><center>
<a href="http://www.uscms.org/SoftwareComputing/index.html">
USCMS Software and Computing Home Page </a> - 
<a href="MessageLogger.html"> CMS MessageLogger Service Page </a> -
<a href="parameters.html#example"> Configuration File </a>
</center>

<p>
      <hr>
      <address><a href="mailto:mf@fnal.gov">Mark Fischler</a></address>
<!-- hhmts start -->
Last modified: November 29, 2005
<!-- hhmts end -->
</body>
