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 configuration file can specify options for a given destination, via a
PSet with that destination as its name. These options include setting
thresholds for reacting to messages, setting limits of how many times this
destination will react to a messages of a given type (either ID or severity).
It is completely optional to have a PSet configuring a given destination. For example, in this file, the cout destination is not further configured. In that case, no filtering will be done for that destination -- all messages will appear.
