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 string threshold = "ERROR" (or "INFO" or "WARNING") parameter in the PSets configuring critical.txt, detailedInfo.txt, and cerr respectively, tells the destination to ignore all messages with severity below ERROR (or INFO or WARNING). Thus the destination writing critical.txt will ignore all messages issued using LogDegbug, LogInfo, and LogWarning.
This parameter is optional; if it is not present, the destination will not filter out messages by their severity. We do not illustrate setting the threshold to DEBUG, because there is no lower severity; thus string threshold = "DEBUG" would be equivalent to omitting that parameter.