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
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<BODY bgcolor="FFFFFF">
<title>
          CMS MessageLogger: Default Limits and Timespans
</title>

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

<font color=red>
<h1> 
Default Limits and Timespans for a Destination</h1>
</font>
</center>

<pre>
process TEST = {

  service = MessageLogger {
    vstring destinations = { "detailedInfo.txt"
			   , "critical.txt"
			   , "jobdebug.txt"
			   , "anotherfile.txt"
			   , "cout"
			   , "cerr"
			   }
    vstring categories = { "unimportant"
			 , "trkwarning"
 			 , "serious_matter"
                         }
    PSet critical.txt = { string threshold = "ERROR"
                               <font color=red>PSet default = { int32 limit    = 10
			                       int32 timespan = 180
					      }</font>
			      PSet serious_matter = { int32 limit = 100000 }
                        }
    PSet detailedInfo.txt = { string threshold = "INFO"
			      <font color=red>PSet default        = { int32 limit    =  10
					              int32 timespan =  60
					            }</font>
			      PSet WARNING        = { int32 limit    = 100
			                              int32 timespan =  60 
					            }
			      PSet ERROR          = { int32 limit    = 100
			                              int32 timespan =  60 
					            }
			      PSet trkwarning     = { int32 limit    = 20
			                              int32 timespan = 1200
						    }
			      PSet unimportant    = { int32 limit    = 5 }
			      PSet serious_matter = { int32 limit    = 1000000 }
                            }
    PSet cerr     = { string threshold = "WARNING" }

    PSet jobdebug.txt =     { <font color=red>PSet default        = { int32 limit    = 1000000 }</font>
                        }
    PSet anotherfile.txt =  { PSet serious_matter = { int32 limit    = 1000 } 
                            }
    PSet default = { int32 limit    = 10
                     int32 timespan = 60
		   }
  }
  untracked PSet maxEvents = {untracked int32 input = 10}
  path p = { myAnalysisModule }
  module myAnalysisModule = ModuleThatIssuesMessages { }
  source = EmptySource { }
}
</pre>

The <font color=red>PSet default = { ... }</font> parameter, inside the context of a given destination,
specifies that for all types of messages <em>other than those explicitly dealt with by their own 
Pset's in this destination</em>, there should be a given limit on number of times this destination
will report messages of the same ID.
<p>
For example, having been assigned a default limit of 10 occurrences and timespan of 180 seconds, 
critical.txt would report the first 10 occurrences of a edm::LogError("thisID") message, and the first
10 occurrences of a edm::LogError("thatID") message.  After the 10 occurrences, an exponential backoff
kicks in.  After 180 seconds of no messages of that type, the count is reset, so that 10 more occurrences
could appear.

<p>
The <font color=red>PSet default = { ... }</font> parameter is optional.  If neither a default limit nor
a limit specific to the particular message ID is provided, then that destination will report all messages
of that ID.
 


<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#complete"> Configuration File </a>
</center>

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