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
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<BODY bgcolor="FFFFFF">
<title>
          CMS MessageLogger: Establishing File and Stream Destinations
</title>

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

<font color=red>
<h1>Establishing File and Stream Destinations</h1>
</font>
</center>

<pre>
process TEST = {

  service = MessageLogger {
    <font color=red>vstring destinations = { "detailedInfo.txt"
			   , "critical.txt"
			   , "jobdebug.txt"
			   , "anotherfile.txt"
			   , "cout"
			   , "cerr"
			   }</font>
    vstring categories = { "unimportant"
			 , "trkwarning"
 			 , "serious_matter"
                         }
    PSet critical.txt = { string threshold = "ERROR"
                              PSet default = { int32 limit    = 10
			                       int32 timespan = 180
					     }
			      PSet serious_matter = { int32 limit = 100000 }
                        }
    PSet detailedInfo.txt = { string threshold = "INFO"
			      PSet default        = { int32 limit    =  10
					              int32 timespan =  60
					            }
			      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 =     { PSet default        = { int32 limit    = 1000000 }
                        }
    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>vstring destinations = </font> {"detailedInfo.txt", ... }
parameter establishes one or more file (or ostream) destinations for the 
messages issued.  The destinations can be configured individually to establish
filtering of messages.  Since this is a <em> vstring</em> parameter, the 
names of the destinations are separated by commas.
<p>
In this case, we have specified four files (perhaps overkill in ordinary
circumstances, but we wished to use the four illustrate various configuration 
options).  We have also specified both cerr and cout; if this is done,
it is recommended that cout be re-directed to a file, otherwise the message
contents will be inter-mixed with those sent to cerr.
<p>
If messages are issued prior to the initiation of the MessageLogger service,
the configuration of these destinations will not yet have occurred.  Such
messages will be sent to cerr alone.

<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>