00001 #ifndef FWCore_MessageService_ELdestControl_h
00002 #define FWCore_MessageService_ELdestControl_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #include "FWCore/MessageLogger/interface/ELstring.h"
00033 #include "FWCore/MessageLogger/interface/ELmap.h"
00034 #include "FWCore/MessageLogger/interface/ELseverityLevel.h"
00035 #include "FWCore/MessageLogger/interface/ErrorObj.h"
00036
00037
00038 namespace edm {
00039 namespace service {
00040
00041
00042
00043
00044
00045 class ELdestination;
00046
00047
00048
00049
00050
00051 class ELdestControl {
00052
00053 public:
00054 ELdestControl( ELdestination * dest );
00055 ELdestControl();
00056 virtual ~ELdestControl();
00057
00058
00059
00060 virtual ELdestControl & setThreshold( const ELseverityLevel & sv );
00061 virtual ELdestControl & setTraceThreshold( const ELseverityLevel & sv );
00062 virtual ELdestControl & setLimit( const ELstring & s, int n );
00063 virtual ELdestControl & setLimit( const ELseverityLevel & sv, int n );
00064 virtual ELdestControl & setInterval( const ELstring & s, int interval );
00065 virtual ELdestControl & setInterval( const ELseverityLevel& sv, int interval);
00066 virtual ELdestControl & setTimespan( const ELstring& s, int n );
00067 virtual ELdestControl & setTimespan( const ELseverityLevel & sv, int n );
00068
00069 virtual ELdestControl & setTableLimit( int n );
00070
00071
00072
00073 virtual void suppressText(); virtual void includeText();
00074 virtual void suppressModule(); virtual void includeModule();
00075 virtual void suppressSubroutine(); virtual void includeSubroutine();
00076 virtual void suppressTime(); virtual void includeTime();
00077 virtual void suppressContext(); virtual void includeContext();
00078 virtual void suppressSerial(); virtual void includeSerial();
00079 virtual void useFullContext(); virtual void useContext();
00080 virtual void separateTime(); virtual void attachTime();
00081 virtual void separateEpilogue(); virtual void attachEpilogue();
00082 virtual void noTerminationSummary();
00083 virtual int setLineLength(int len); virtual int getLineLength() const;
00084
00085 virtual void filterModule ( ELstring const & moduleName );
00086 virtual void excludeModule ( ELstring const & moduleName );
00087 virtual void respondToModule ( ELstring const & moduleName );
00088 virtual void ignoreModule ( ELstring const & moduleName );
00089
00090 virtual ELdestControl & clearSummary();
00091 virtual ELdestControl & wipe();
00092 virtual ELdestControl & zero();
00093
00094 virtual ELdestControl & setPreamble( const ELstring & preamble );
00095 virtual ELdestControl & setNewline( const ELstring & newline );
00096
00097
00098
00099 virtual void summary( ELdestControl & dest, char * title="" );
00100 virtual void summary( std::ostream & os , char * title="" );
00101 virtual void summary( ELstring & s , char * title="" );
00102 virtual void summary( );
00103 virtual void summaryForJobReport( std::map<std::string, double> & sm);
00104
00105 virtual std::map<ELextendedID , StatsCount> statisticsMap() const;
00106
00107 virtual bool log( edm::ErrorObj & msg );
00108
00109
00110 virtual void changeFile (std::ostream & os);
00111 virtual void changeFile (const ELstring & filename);
00112 virtual void flush();
00113
00114
00115
00116 virtual void summarization( const ELstring & title
00117 , const ELstring & sumLines
00118 );
00119
00120 ELstring getNewline() const;
00121
00122
00123
00124 protected:
00125 ELdestination * d;
00126
00127 };
00128
00129
00130
00131
00132
00133 }
00134 }
00135
00136
00137 #endif // FWCore_MessageService_ELdestControl_h