Message Logging Concepts

To understand what sort of flexibility is available, it is useful to be familiar with the following concepts:

  • Destination
      The MessageLogger is capable of routing messages to multiple Destinations. The behavior -- the nature of which messages would appear and which would be ignored -- can be controlled for each destination. At present, two types of destinations are supported:
      1. Output files, the names of which can be specified in the job's .cfg file. (If the file specified already exists, the messages will be appended to the file.)
      2. Streams cerr and cout. (Because our parameter set syntax treats these names specially, creation of an output file

        named cerr or cout is not supported.)

  • Message ID
      Each message is given a category when issued. This is intended to represent what this message is about. For example, several messages with different detailed content could all be of type tracking. Limits can be imposed on the reporting of messages in a given category, and statistics can be obtained by category.
  • Severity

      LogDebug, edm::LogWarning, edm::LogInfo, and edm::LogError produce messages with severity DEBUG, INFO, WARNING, and ERROR respectively. These are ordered with DEBUG as the lowest severity and ERROR as the highest.

  • Threshold
      For any given destination, the .cfg file can specify that every message with a severity lower than a given threshold shall be ignored. By default, a destination will have a threshold of INFO; responses to messages issued via LogDebug can be enabled by setting a threshold to DEBUG.

  • Limit
      For each message category, or for messages in general, or for a specified severity level, the .cfg file can instruct the logger to ignore messages after some number (the limit) have been encountered. (Actually, beyond the applicable limit, an occasional further message will appear, based on an exponential backoff. Thus, if the a limit is set at 5, and 100 messages of that id are issued, then that destination will react to the messages number 1, 2, 3, 4, 5, 10, 15, 25, 45, and 85.) A limit of zero will disable reporting that category of messages.
  • Timespan
      When a limit is set, it is possible to specify that if no occurrences of that type of message are seen in some number of seconds (the timespan), then the count toward that limit is to be reset. Thus if you wish to suppress most of the thousands of warnings of some type expected at startup, but would like to know if another one happens after a gap of ten minutes, this can be specified as a timespan of 600.

The typical user may not be interested in specifying limits of how many times messages of types will be displayed. By default, the MessageLogger service will impose a limit of 5 occurrences of each category of LogInfo messages, except for framework event messages which will be unlimited.

output to each destination every messages meeting the severity threshold criteria specific for that destination. In fact, the user need not specify any thresholds; then every message will be output. And if the user does not specify any destinations, then a single destination of cerr is assumed.

In the near future, concepts for establishing and/or controlling a destination involving the log4cplus service may also be listed here.

-- MarkFischler - 13-Aug-2010

-- SudhirMalik - 27-Sep-2011

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2011-09-27 - SudhirMalik
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback