CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/FWCore/MessageService/src/ELdestControl.cc

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------
00002 //
00003 // ELdestControl.cc
00004 //
00005 // History:
00006 //
00007 // 7/5/98 mf    Created
00008 // 6/16/99 jvr  Allow include/suppress options on destinations
00009 // 7/2/99 jvr   Added separate/attachTime, Epilogue, and Serial options
00010 // 7/2/99 jvr   Added separate/attachTime, Epilogue, and Serial options
00011 // 6/7/00 web   Reflect consolidation of ELdestination/X; add
00012 //              filterModule()
00013 // 6/15/00 web  using -> USING
00014 // 10/4/00 mf   excludeModule()
00015 // 3/13/01 mf   statisticsMap()
00016 // 4/04/01 mf   ignoreModule() and respondToModule();
00017 //10/17/01 mf   setTableLimit()
00018 // 3/03/02 mf   conditionalize all forwarding on if (d) so that using a
00019 //              default ELdestControl has no effect on anything.  Needed for
00020 //              good behavior for handle recovery.
00021 //  6/23/03 mf  changeFile(), flush()
00022 //  5/18/06 mf  setInterval
00023 //  6/19/08 mf  summaryForJobReport()
00024 // ----------------------------------------------------------------------
00025 
00026 
00027 #include "FWCore/MessageService/interface/ELdestControl.h"
00028 #include "FWCore/MessageService/interface/ELdestination.h"
00029 
00030 #include <iostream>
00031 using std::cerr;
00032 
00033 // Possible Traces:
00034 // #define ELdestinationCONSTRUCTOR_TRACE
00035 
00036 
00037 namespace edm {
00038 namespace service {
00039 
00040 
00041 // ----------------------------------------------------------------------
00042 
00043 
00044 ELdestControl::ELdestControl( boost::shared_ptr<ELdestination> dest )
00045 : d ( dest )
00046 {
00047   #ifdef ELdestinationCONSTRUCTOR_TRACE
00048     std::cerr << "Constructor for ELdestControl\n";
00049   #endif
00050 }  // ELdestControl()
00051 
00052 
00053 ELdestControl::ELdestControl( )
00054 : d ( )
00055 {
00056   #ifdef ELdestinationCONSTRUCTOR_TRACE
00057     std::cerr << "Default Constructor for ELdestControl\n";
00058   #endif
00059 }  // ELdestControl()
00060 
00061 
00062 ELdestControl::~ELdestControl()  {
00063   #ifdef ELdestinationCONSTRUCTOR_TRACE
00064     std::cerr << "Destructor for ELdestControl\n";
00065   #endif
00066 }  // ~ELdestControl()
00067 
00068 
00069 // ----------------------------------------------------------------------
00070 // Behavior control methods invoked by the framework
00071 // ----------------------------------------------------------------------
00072 
00073 ELdestControl & ELdestControl::setThreshold( const ELseverityLevel & sv )  {
00074   if (d) d->threshold = sv;
00075   return  * this;
00076 }
00077 
00078 
00079 ELdestControl & ELdestControl::setTraceThreshold( const ELseverityLevel & sv )  {
00080   if (d) d->traceThreshold = sv;
00081   return  * this;
00082 }
00083 
00084 
00085 ELdestControl & ELdestControl::setLimit( const ELstring & s, int n )  {
00086   if (d) d->limits.setLimit( s, n );
00087   return  * this;
00088 }
00089 
00090 
00091 ELdestControl & ELdestControl::setInterval
00092                                 ( const ELseverityLevel & sv, int interval )  {
00093   if (d) d->limits.setInterval( sv, interval );
00094   return  * this;
00095 }
00096 
00097 ELdestControl & ELdestControl::setInterval( const ELstring & s, int interval )  {
00098   if (d) d->limits.setInterval( s, interval );
00099   return  * this;
00100 }
00101 
00102 
00103 ELdestControl & ELdestControl::setLimit( const ELseverityLevel & sv, int n )  {
00104   if (d) d->limits.setLimit( sv, n );
00105   return  * this;
00106 }
00107 
00108 
00109 ELdestControl & ELdestControl::setTimespan( const ELstring & s, int n )  {
00110   if (d) d->limits.setTimespan( s, n );
00111   return  * this;
00112 }
00113 
00114 
00115 ELdestControl & ELdestControl::setTimespan( const ELseverityLevel & sv, int n )  {
00116   if (d) d->limits.setTimespan( sv, n );
00117   return  * this;
00118 }
00119 
00120 
00121 ELdestControl & ELdestControl::setTableLimit( int n )  {
00122   if (d) d->limits.setTableLimit( n );
00123   return  * this;
00124 }
00125 
00126 
00127 void ELdestControl::suppressText()  { if (d) d->suppressText(); }  // $$ jvr
00128 void ELdestControl::includeText()   { if (d) d->includeText();  }
00129 
00130 void ELdestControl::suppressModule()  { if (d) d->suppressModule(); }
00131 void ELdestControl::includeModule()   { if (d) d->includeModule();  }
00132 
00133 void ELdestControl::suppressSubroutine()  { if (d) d->suppressSubroutine(); }
00134 void ELdestControl::includeSubroutine()   { if (d) d->includeSubroutine();  }
00135 
00136 void ELdestControl::suppressTime()  { if (d) d->suppressTime(); }
00137 void ELdestControl::includeTime()   { if (d) d->includeTime();  }
00138 
00139 void ELdestControl::suppressContext()  { if (d) d->suppressContext(); }
00140 void ELdestControl::includeContext()   { if (d) d->includeContext();  }
00141 
00142 void ELdestControl::suppressSerial()  { if (d) d->suppressSerial(); }
00143 void ELdestControl::includeSerial()   { if (d) d->includeSerial();  }
00144 
00145 void ELdestControl::useFullContext()  { if (d) d->useFullContext(); }
00146 void ELdestControl::useContext()      { if (d) d->useContext();  }
00147 
00148 void ELdestControl::separateTime()  { if (d) d->separateTime(); }
00149 void ELdestControl::attachTime()    { if (d) d->attachTime();   }
00150 
00151 void ELdestControl::separateEpilogue()  { if (d) d->separateEpilogue(); }
00152 void ELdestControl::attachEpilogue()    { if (d) d->attachEpilogue();   }
00153 
00154 void ELdestControl::noTerminationSummary()  {if (d) d->noTerminationSummary(); }
00155 
00156 ELdestControl & ELdestControl::setPreamble( const ELstring & preamble )  {
00157   if (d) d->preamble = preamble;
00158   return  * this;
00159 }
00160 
00161 int ELdestControl::setLineLength (int len) {
00162   if (d) {
00163     return d->setLineLength(len);
00164   } else {
00165     return 0;
00166   }
00167 }
00168 
00169 int ELdestControl::getLineLength () const {
00170   if (d) {
00171     return d->getLineLength();
00172   } else {
00173     return 0;
00174   }
00175 }
00176 
00177 void ELdestControl::filterModule( ELstring const & moduleName )  {
00178   if (d) d->filterModule( moduleName );
00179 }
00180 
00181 void ELdestControl::excludeModule( ELstring const & moduleName )  {
00182   if (d) d->excludeModule( moduleName );
00183 }
00184 
00185 void ELdestControl::ignoreModule( ELstring const & moduleName )  {
00186   if (d) d->ignoreModule( moduleName );
00187 }
00188 
00189 void ELdestControl::respondToModule( ELstring const & moduleName )  {
00190   if (d) d->respondToModule( moduleName );
00191 }
00192 
00193 
00194 ELdestControl & ELdestControl::setNewline( const ELstring & newline )  {
00195   if (d) d->newline = newline;
00196   return  * this;
00197 }
00198 
00199 
00200 // ----------------------------------------------------------------------
00201 // Active methods invoked by the framework, forwarded to the destination:
00202 // ----------------------------------------------------------------------
00203 
00204 // *** Active methods invoked by the framework ***
00205 
00206 void ELdestControl::summary( ELdestControl & dest, char * title )  {
00207   if (d) d->summary( dest, title );
00208 }
00209 
00210 
00211 void ELdestControl::summary( std::ostream & os, char * title )  {
00212   if (d) d->summary( os, title );
00213 }
00214 
00215 
00216 void ELdestControl::summary( ELstring & s, char * title )  {
00217   if (d) d->summary( s, title );
00218 }
00219 
00220 void ELdestControl::summary( )  {
00221   if (d) d->summary( );
00222 }
00223 
00224 void ELdestControl::summaryForJobReport( std::map<std::string, double> & sm)  {
00225   if (d) d->summaryForJobReport(sm);
00226 }
00227 
00228 
00229 ELdestControl & ELdestControl::clearSummary()  {
00230   if (d) d->clearSummary();
00231   return  * this;
00232 }
00233 
00234 
00235 ELdestControl & ELdestControl::wipe()  {
00236   if (d) d->wipe();
00237   return  * this;
00238 }
00239 
00240 
00241 ELdestControl & ELdestControl::zero()  {
00242   if (d) d->zero();
00243   return  * this;
00244 }
00245 
00246 
00247 bool ELdestControl::log( edm::ErrorObj & msg )  {
00248   if (d) {
00249     return d->log( msg );
00250   } else {
00251     return false;
00252   }
00253 }
00254 
00255 void ELdestControl::summarization( const ELstring & title
00256                                  , const ELstring & sumLines
00257                                  )  {
00258   if (d) d->summarization ( title, sumLines );
00259 }
00260 
00261 ELstring ELdestControl::getNewline() const  {
00262   if (d) {
00263     return d->getNewline();
00264   } else {
00265     return ELstring();
00266   }
00267 }
00268 
00269 std::map<ELextendedID , StatsCount> ELdestControl::statisticsMap() const {
00270   if (d) {
00271     return d->statisticsMap();
00272   } else {
00273     return std::map<ELextendedID , StatsCount>();
00274   }
00275 }
00276 
00277 void ELdestControl::changeFile (std::ostream & os) {
00278   if (d) d->changeFile(os);
00279 }
00280 
00281 void ELdestControl::changeFile (const ELstring & filename) {
00282   if (d) d->changeFile(filename);
00283 }
00284 
00285 void ELdestControl::flush () {
00286   if (d) d->flush();
00287 }
00288 
00289 
00290 // ----------------------------------------------------------------------
00291 
00292 
00293 } // end of namespace service
00294 } // end of namespace edm