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>
<FrameworkJobReport>
<Report>
<Severity> -e </Severity>
<Category> cat_A </Category>
<Message>
<Item> LogError was used to send this message </Item>
</Message>
<Module> UnitTestClient_A:sendSomeMessages </Module>
</Report>
<Report>
<Severity> -e </Severity>
<Category> cat_B </Category>
<Message>
<Item> LogError was used to send this other message </Item>
</Message>
<Module> UnitTestClient_A:sendSomeMessages </Module>
</Report>
<Report>
<Severity> -w </Severity>
<Category> cat_A </Category>
<Message>
<Item> LogWarning was used to send a message with the number </Item>
<Item> 46 </Item>
<Item> and this other string streamed to the logger </Item>
</Message>
<Module> UnitTestClient_A:sendSomeMessages </Module>
</Report>
<Report>
<Severity> -w </Severity>
<Category> cat_B </Category>
<Message>
<Item> LogWarning was used to send this other message </Item>
</Message>
<Module> UnitTestClient_A:sendSomeMessages </Module>
</Report>
<Report>
<Severity> -i </Severity>
<Category> cat_A </Category>
<Message>
<Item> LogInfo was used to send this message </Item>
</Message>
<Module> UnitTestClient_A:sendSomeMessages </Module>
</Report>
<Report>
<Severity> -i </Severity>
<Category> cat_B </Category>
<Message>
<Item> LogInfo was used to send this other message </Item>
</Message>
<Module> UnitTestClient_A:sendSomeMessages </Module>
</Report>
</FrameworkJobReport>
</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>
|