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>