Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
<!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>