process TEST = {
service = MessageLogger {
vstring destinations = { "detailedInfo.txt"
, "critical.txt"
}
vstring fwkJobReports = { "long_job_report.xml"
, "terse_job_report.xml"
}
PSet long_job_report.xml = { string threshold = "INFO" }
PSet terse_job_report.xml = { string threshold = "ERROR" }
}
untracked PSet maxEvents = {untracked int32 input = 5}
path p = { myAnalysisModule }
module myAnalysisModule = ModuleThatIssuesMessages { }
source = EmptySource { }
}
The vstring fwkJobReports = { ... } parameter
instructs the message logger to form one or more (in this case, two)
ELfwkJobReport destinations.
Each such destination can be (and in the above example is)
controlled by a PSet, establishing thresholds and limits.
One set of limits is imposed on the ELfwkJobReport 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).
The format of the output is illustrated by this example, from
long_job_report.xml:
<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>
