CMS MessageLogger: Framework Job Reports

CMS MessageLogger Service
Framework Job Reports

Ordinary output destinations are formatted for human readability. CMS has specified an alternative xml format which may facilitate the creation of automated parsing tools for programmatic understanding of log files.
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>

USCMS Software and Computing Home Page - CMS MessageLogger Service Page - Configuration File


Mark Fischler
Last modified: November 29, 2005