CMS MessageLogger: Default Limits and Timespans

Default Limits and Timespans for a Destination

process TEST = {

  service = MessageLogger {
    vstring destinations = { "detailedInfo.txt"
			   , "critical.txt"
			   , "jobdebug.txt"
			   , "anotherfile.txt"
			   , "cout"
			   , "cerr"
			   }
    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 { }
}
The PSet default = { ... } parameter, inside the context of a given destination, specifies that for all types of messages other than those explicitly dealt with by their own Pset's in this destination, there should be a given limit on number of times this destination will report messages of the same ID.

For example, having been assigned a default limit of 10 occurrences and timespan of 180 seconds, critical.txt would report the first 10 occurrences of a edm::LogError("thisID") message, and the first 10 occurrences of a edm::LogError("thatID") message. After the 10 occurrences, an exponential backoff kicks in. After 180 seconds of no messages of that type, the count is reset, so that 10 more occurrences could appear.

The PSet default = { ... } parameter is optional. If neither a default limit nor a limit specific to the particular message ID is provided, then that destination will report all messages of that ID.

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


Mark Fischler
Last modified: Dec 1, 2005