process TEST = { service = MessageLogger { vstring destinations = { "detailedInfo.txt" , "critical.txt" , "cout" , "cerr" } PSet critical.txt = { string threshold = "ERROR" } PSet detailedInfo.txt = { string threshold = "INFO" } PSet cerr = { string threshold = "WARNING" } } untracked PSet maxEvents = {untracked int32 input = 5} path p = { myAnalysisModule } module myAnalysisModule = ModuleThatIssuesMessages { } source = EmptySource { } }The { ..., "cerr", ... } in the list of destinations refers to message information streamed to std::cout rather than to a file named cerr.
It is possible for a message to be sent to cerr even though no such stream is listed in the configuration file, since any message sent before services are configured will go to a cerr destination. However, unless cerr appears in the configuration file as a destination, that destination will be turned off once the service has been configured.
The MessageLogger service provides no way to create a destination writing to an ordinary file named cout or cerr.