CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Protected Attributes | Friends

edm::service::ELoutput Class Reference

#include <ELoutput.h>

Inheritance diagram for edm::service::ELoutput:
edm::service::ELdestination edm::service::ELcollected

List of all members.

Public Member Functions

virtual ELoutputclone () const
 ELoutput (std::ostream &os, bool emitAtStart=false)
 ELoutput (const ELstring &fileName, bool emitAtStart=false)
 ELoutput (const ELoutput &orig)
 ELoutput ()
virtual bool log (const edm::ErrorObj &msg)
virtual ~ELoutput ()

Protected Member Functions

virtual void attachEpilogue ()
virtual void attachTime ()
virtual void changeFile (std::ostream &os)
virtual void changeFile (const ELstring &filename)
virtual void emitToken (const ELstring &s, bool nl=false)
virtual void flush ()
virtual void includeContext ()
virtual void includeModule ()
virtual void includeSerial ()
virtual void includeSubroutine ()
virtual void includeText ()
virtual void includeTime ()
ELoutputoperator= (const ELoutput &orig)
virtual void separateEpilogue ()
virtual void separateTime ()
virtual void summarization (const ELstring &fullTitle, const ELstring &sumLines)
virtual void suppressContext ()
virtual void suppressModule ()
virtual void suppressSerial ()
virtual void suppressSubroutine ()
virtual void suppressText ()
virtual void suppressTime ()
virtual void useContext ()
virtual void useFullContext ()

Protected Attributes

int charsOnLine
boost::shared_ptr< std::ostream > os
bool preambleMode
bool wantEpilogueSeparate
bool wantFullContext
bool wantModule
bool wantSerial
bool wantSomeContext
bool wantSubroutine
bool wantText
bool wantTimeSeparate
bool wantTimestamp
edm::ELextendedID xid

Friends

class ELdestControl

Detailed Description

Definition at line 49 of file ELoutput.h.


Constructor & Destructor Documentation

edm::service::ELoutput::ELoutput ( )

Definition at line 127 of file ELoutput.cc.

References dtNoiseDBValidation_cfg::cerr, and emitToken().

Referenced by clone().

: ELdestination       (            )
, os                  ( &std::cerr, do_nothing_deleter() )
, charsOnLine         ( 0          )
, xid                 (            )
, wantTimestamp       ( true       )
, wantModule          ( true       )
, wantSubroutine      ( true       )
, wantText            ( true       )
, wantSomeContext     ( true       )
, wantSerial          ( false      )
, wantFullContext     ( false      )
, wantTimeSeparate    ( false      )
, wantEpilogueSeparate( false      )
, preambleMode        ( true       )            // 006 9/2/10 mf
{

  #ifdef ELoutputCONSTRUCTOR_TRACE
    std::cerr << "Constructor for ELoutput()\n";
  #endif

  emitToken( "\n=================================================", true );
  emitToken( "\nMessage Log File written by MessageLogger service \n" );
  emitToken( "\n=================================================\n", true );

}  // ELoutput()
edm::service::ELoutput::ELoutput ( std::ostream &  os,
bool  emitAtStart = false 
)

Definition at line 155 of file ELoutput.cc.

References dtNoiseDBValidation_cfg::cerr, emitToken(), and preambleMode.

: ELdestination       (       )
, os                  ( &os_, do_nothing_deleter() )
, charsOnLine         ( 0     )
, xid                 (       )
, wantTimestamp       ( true  )
, wantModule          ( true  )
, wantSubroutine      ( true  )
, wantText            ( true  )
, wantSomeContext     ( true  )
, wantSerial          ( false )
, wantFullContext     ( false )
, wantTimeSeparate    ( false )
, wantEpilogueSeparate( false )
, preambleMode        ( true  )         // 006 9/2/10 mf
{

  #ifdef ELoutputCONSTRUCTOR_TRACE
    std::cerr << "Constructor for ELoutput( os )\n";
  #endif

                                        // Enh 001 2/13/01 mf
  if (emitAtStart) {
    preambleMode = true;
    emitToken( "\n=================================================", true );
    emitToken( "\nMessage Log File written by MessageLogger service \n" );
    emitToken( "\n=================================================\n", true );
  }

}  // ELoutput()
edm::service::ELoutput::ELoutput ( const ELstring fileName,
bool  emitAtStart = false 
)

Definition at line 187 of file ELoutput.cc.

References dtNoiseDBValidation_cfg::cerr, emitToken(), edm::service::formatTime(), os, preambleMode, and cond::rpcobgas::time.

: ELdestination       (       )
, os                  ( new std::ofstream( fileName.c_str() , std::ios/*_base*/::app), close_and_delete())
, charsOnLine         ( 0     )
, xid                 (       )
, wantTimestamp       ( true  )
, wantModule          ( true  )
, wantSubroutine      ( true  )
, wantText            ( true  )
, wantSomeContext     ( true  )
, wantSerial          ( false )
, wantFullContext     ( false )
, wantTimeSeparate    ( false )
, wantEpilogueSeparate( false )
, preambleMode        ( true  )         // 006 9/2/10 mf
{

  #ifdef ELoutputCONSTRUCTOR_TRACE
    std::cerr << "Constructor for ELoutput( " << fileName << " )\n";
  #endif

  preambleMode = true;
  if ( os && *os )  {
    #ifdef ELoutputCONSTRUCTOR_TRACE
      std::cerr << "          Testing if os is owned\n";
    #endif
    #ifdef ELoutputCONSTRUCTOR_TRACE
      std::cerr << "          About to do first emit\n";
    #endif
                                        // Enh 001 2/13/01 mf
    if (emitAtStart) {
      emitToken( "\n=======================================================",
                                                                true );
      emitToken( "\nError Log File " );
      emitToken( fileName );
      emitToken( " \n" );
    }
  }
  else  {
    #ifdef ELoutputCONSTRUCTOR_TRACE
      std::cerr << "          Deleting os\n";
    #endif
    os.reset(&std::cerr, do_nothing_deleter());
    #ifdef ELoutputCONSTRUCTOR_TRACE
      std::cerr << "          about to emit to cerr\n";
    #endif
    if (emitAtStart) {
      emitToken( "\n=======================================================",
                                                                true );
      emitToken( "\n%MSG** Logging to cerr is being substituted" );
      emitToken( " for specified log file \"" );
      emitToken( fileName  );
      emitToken( "\" which could not be opened for write or append.\n" );
    }
  }
  if (emitAtStart) {
    ELstring const& ftime = formatTime(time(0)); // Change log 7
    emitToken( ftime, true );
    emitToken( "\n=======================================================\n",
                                                                true );
  }
  // preambleMode = tprm; removed 9/2/10 mf see change log 6

  #ifdef ELoutputCONSTRUCTOR_TRACE
    std::cerr << "Constructor for ELoutput completed.\n";
  #endif

}  // ELoutput()
edm::service::ELoutput::ELoutput ( const ELoutput orig)

Definition at line 257 of file ELoutput.cc.

References dtNoiseDBValidation_cfg::cerr, edm::service::ELdestination::ignoreMostModules, edm::service::ELdestination::ignoreThese, edm::service::ELdestination::indent, edm::service::ELdestination::limits, edm::service::ELdestination::lineLength, edm::service::ELdestination::newline, edm::service::ELdestination::preamble, edm::service::ELdestination::respondToMostModules, edm::service::ELdestination::respondToThese, edm::service::ELdestination::threshold, and edm::service::ELdestination::traceThreshold.

: ELdestination       (                           )
, os                  ( orig.os                   )
, charsOnLine         ( orig.charsOnLine          )
, xid                 ( orig.xid                  )
, wantTimestamp       ( orig.wantTimestamp        )
, wantModule          ( orig.wantModule           )
, wantSubroutine      ( orig.wantSubroutine       )
, wantText            ( orig.wantText             )
, wantSomeContext     ( orig.wantSomeContext      )
, wantSerial          ( orig.wantSerial           )
, wantFullContext     ( orig.wantFullContext      )
, wantTimeSeparate    ( orig.wantTimeSeparate     )
, wantEpilogueSeparate( orig.wantEpilogueSeparate )
, preambleMode        ( orig.preambleMode         )     // 006 9/2/10 mf
{

  #ifdef ELoutputCONSTRUCTOR_TRACE
    std::cerr << "Copy constructor for ELoutput\n";
  #endif

  // mf 6/15/01 fix of Bug 005
  threshold             = orig.threshold;
  traceThreshold        = orig.traceThreshold;
  limits                = orig.limits;
  preamble              = orig.preamble;
  newline               = orig.newline;
  indent                = orig.indent;
  lineLength            = orig.lineLength;

  ignoreMostModules     = orig.ignoreMostModules;
  respondToThese        = orig.respondToThese;
  respondToMostModules  = orig.respondToMostModules;
  ignoreThese           = orig.ignoreThese;

}  // ELoutput()
edm::service::ELoutput::~ELoutput ( ) [virtual]

Definition at line 295 of file ELoutput.cc.

References dtNoiseDBValidation_cfg::cerr.

                     {

  #ifdef ELoutputCONSTRUCTOR_TRACE
    std::cerr << "Destructor for ELoutput\n";
  #endif

}  // ~ELoutput()

Member Function Documentation

void edm::service::ELoutput::attachEpilogue ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 653 of file ELoutput.cc.

References wantEpilogueSeparate.

{ wantEpilogueSeparate = false; }
void edm::service::ELoutput::attachTime ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 650 of file ELoutput.cc.

References wantTimeSeparate.

{ wantTimeSeparate = false; }
void edm::service::ELoutput::changeFile ( std::ostream &  os) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 694 of file ELoutput.cc.

References emitToken(), edm::service::formatTime(), os, and cond::rpcobgas::time.

                                           {
  os.reset(&os_, do_nothing_deleter());
  emitToken( "\n=======================================================", true );
  emitToken( "\nError Log changed to this stream\n" );
  ELstring const& ftime = formatTime(time(0)); // Change log 7
  emitToken( ftime, true );
  emitToken( "\n=======================================================\n", true );
}
void edm::service::ELoutput::changeFile ( const ELstring filename) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 703 of file ELoutput.cc.

References emitToken(), edm::service::formatTime(), os, and cond::rpcobgas::time.

                                                    {
  os.reset(new std::ofstream( filename.c_str(), std::ios/*_base*/::app), close_and_delete());
  emitToken( "\n=======================================================", true );
  emitToken( "\nError Log changed to this file\n" );
  ELstring const& ftime = formatTime(time(0)); // Change log 7
  emitToken( ftime, true );
  emitToken( "\n=======================================================\n", true );
}
ELoutput * edm::service::ELoutput::clone ( void  ) const [virtual]

Implements edm::service::ELdestination.

Reimplemented in edm::service::ELcollected.

Definition at line 309 of file ELoutput.cc.

References ELoutput().

                       {

  return new ELoutput( *this );

} // clone()
void edm::service::ELoutput::emitToken ( const ELstring s,
bool  nl = false 
) [protected, virtual]

Reimplemented in edm::service::ELcollected.

Definition at line 544 of file ELoutput.cc.

References dtNoiseDBValidation_cfg::cerr, charsOnLine, edm::first(), flush(), edm::service::ELdestination::indent, prof2calltree::last, edm::service::ELdestination::lineLength, edm::service::ELdestination::newline, preambleMode, alignCSCRings::s, and edm::second().

Referenced by changeFile(), ELoutput(), log(), and summarization().

                                                       {

  #ifdef ELoutput_EMIT_TRACE
    std::cerr << "[][][] in emit:  charsOnLine is " << charsOnLine << '\n';
    std::cerr << "[][][] in emit:  s.length() " << s.length() << '\n';
    std::cerr << "[][][] in emit:  lineLength is " << lineLength << '\n';
  #endif

  if (s.length() == 0)  {
    if ( nl )  {
      (*os) << newline << std::flush;
      charsOnLine = 0;
    }
    return;
  }

  char first = s[0];
  char second,
       last,
       last2;
  second = (s.length() < 2) ? '\0' : s[1];
  last = (s.length() < 2) ? '\0' : s[s.length()-1];
  last2 = (s.length() < 3) ? '\0' : s[s.length()-2];
         //checking -2 because the very last char is sometimes a ' ' inserted
         //by ErrorLog::operator<<

  if (preambleMode) {
               //Accounts for newline @ the beginning of the ELstring     JV:2
    if ( first == '\n'
    || (charsOnLine + static_cast<int>(s.length())) > lineLength )  {
      #ifdef ELoutput_EMIT_TRACE
        std::cerr << "[][][] in emit: about to << to *os \n";
      #endif
      #ifdef HEADERS_BROKEN_INTO_LINES_AND_INDENTED
      // Change log 3: Removed this code 6/11/07 mf
      (*os) << newline << indent;
      charsOnLine = indent.length();
      #else
      charsOnLine = 0;                                          // Change log 5   
      #endif
      if (second != ' ')  {
        (*os) << ' ';
        charsOnLine++;
      }
      if ( first == '\n' )  {
        (*os) << s.substr(1);
      }
      else  {
        (*os) << s;
      }
    }
    #ifdef ELoutput_EMIT_TRACE
      std::cerr << "[][][] in emit: about to << s to *os: " << s << " \n";
    #endif
    else  {
      (*os) << s;
    }

    if (last == '\n' || last2 == '\n')  {  //accounts for newline @ end    $$ JV:2
      (*os) << indent;                    //of the ELstring
      if (last != ' ')
        (*os) << ' ';
      charsOnLine = indent.length() + 1;
    }

    if ( nl )  { (*os) << newline << std::flush; charsOnLine = 0;           }
    else       {                                 charsOnLine += s.length(); }
}

  if (!preambleMode) {
    (*os) << s;
  }
  
  #ifdef ELoutput_EMIT_TRACE
    std::cerr << "[][][] in emit: completed \n";
  #endif

}  // emitToken()
void edm::service::ELoutput::flush ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 712 of file ELoutput.cc.

References os.

Referenced by emitToken(), and log().

                      {
  os->flush();
}
void edm::service::ELoutput::includeContext ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 640 of file ELoutput.cc.

References wantSomeContext.

{ wantSomeContext = true;  }
void edm::service::ELoutput::includeModule ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 631 of file ELoutput.cc.

References wantModule.

{ wantModule = true;  }
void edm::service::ELoutput::includeSerial ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 644 of file ELoutput.cc.

References wantSerial.

{ wantSerial = true;  }
void edm::service::ELoutput::includeSubroutine ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 634 of file ELoutput.cc.

References wantSubroutine.

{ wantSubroutine = true;  }
void edm::service::ELoutput::includeText ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 637 of file ELoutput.cc.

References wantText.

{ wantText = true;  }
void edm::service::ELoutput::includeTime ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 628 of file ELoutput.cc.

References wantTimestamp.

{ wantTimestamp = true;  }
bool edm::service::ELoutput::log ( const edm::ErrorObj msg) [virtual]

Reimplemented from edm::service::ELdestination.

Reimplemented in edm::service::ELcollected.

Definition at line 318 of file ELoutput.cc.

References edm::service::ELlimitsTable::add(), dtNoiseDBValidation_cfg::cerr, charsOnLine, edm::ELsevere, edm::ELsuccess, emitToken(), flush(), edm::service::formatTime(), edm::ELseverityLevel::getSymbol(), edm::ELextendedID::id, edm::ErrorObj::idOverflow(), instance, edm::service::ELadministrator::instance(), edm::ErrorObj::is_verbatim(), edm::ErrorObj::items(), edm::service::ELdestination::limits, edm::ELextendedID::module, edm::service::ELdestination::newline, edm::service::ELdestination::preamble, preambleMode, alignCSCRings::s, edm::ErrorObj::serial(), edm::ELextendedID::severity, edm::ELextendedID::subroutine, edm::service::ELdestination::thisShouldBeIgnored(), edm::service::ELdestination::threshold, edm::ErrorObj::timestamp(), edm::service::ELdestination::traceThreshold, wantEpilogueSeparate, wantFullContext, wantModule, wantSerial, wantSomeContext, wantSubroutine, wantText, wantTimeSeparate, wantTimestamp, xid, and edm::ErrorObj::xid().

                                             {

  #ifdef ELoutputTRACE_LOG
    std::cerr << "    =:=:=: Log to an ELoutput \n";
  #endif

  xid = msg.xid();      // Save the xid.

#ifdef THRESHTRACE
  std::cerr << "    =:=:=: Log to an ELoutput \n"
            << "           severity  = " << xid.severity  << "\n"
            << "           threshold = " << threshold     << "\n"
            << "           id        = " << xid.id        << "\n";
#endif

  // See if this message is to be acted upon, and add it to limits table
  // if it was not already present:
  //
  if ( xid.severity < threshold        )  return false;
  if ( thisShouldBeIgnored(xid.module) 
        && (xid.severity < ELsevere) /* change log 2 */ )  
                                          return false;
  if ( ! limits.add( xid )              
        && (xid.severity < ELsevere) /* change log 2 */ )  
                                          return false;

  #ifdef ELoutputTRACE_LOG
    std::cerr << "    =:=:=: Limits table work done \n";
  #endif

  // Output the prologue:
  //
  preambleMode = true;

  if  ( !msg.is_verbatim()  ) {
    charsOnLine = 0;                                            // Change log 5
    emitToken( preamble );
    emitToken( xid.severity.getSymbol() );
    emitToken( " " );
    emitToken( xid.id );
    emitToken( msg.idOverflow() );
    emitToken( ": " );
  }
  
  #ifdef ELoutputTRACE_LOG
    std::cerr << "    =:=:=: Prologue done \n";
  #endif
  // Output serial number of message:
  //
  if  ( !msg.is_verbatim()  ) 
 {
    if ( wantSerial )  {
      std::ostringstream s;
      s << msg.serial();
      emitToken( "[serial #" + s.str() + ELstring("] ") );
    }
  }
  
#ifdef OUTPUT_FORMATTED_ERROR_MESSAGES
  // Output each item in the message (before the epilogue):
  //
  if ( wantText )  {
    ELlist_string::const_iterator it;
    for ( it = msg.items().begin();  it != msg.items().end();  ++it )  {
    #ifdef ELoutputTRACE_LOG
      std::cerr << "      =:=:=: Item:  " << *it << '\n';
    #endif
      emitToken( *it );
    }
  }
#endif

  // Provide further identification:
  //
  bool needAspace = true;
  if  ( !msg.is_verbatim()  ) 
 {
    if ( wantEpilogueSeparate )  {
      if ( xid.module.length() + xid.subroutine.length() > 0 )  {
        emitToken("\n");
        needAspace = false;
      }
      else if ( wantTimestamp && !wantTimeSeparate )  {
        emitToken("\n");
        needAspace = false;
      }
    }
    if ( wantModule && (xid.module.length() > 0) )  {
      if (needAspace) { emitToken(ELstring(" ")); needAspace = false; }
      emitToken( xid.module + ELstring(" ") );
    }
    if ( wantSubroutine && (xid.subroutine.length() > 0) )  {
      if (needAspace) { emitToken(ELstring(" ")); needAspace = false; }
      emitToken( xid.subroutine + "()" + ELstring(" ") );
    }
  }
  
  #ifdef ELoutputTRACE_LOG
    std::cerr << "    =:=:=: Module and Subroutine done \n";
  #endif

  // Provide time stamp:
  //
  if  ( !msg.is_verbatim() ) 
 {
    if ( wantTimestamp )  {
      if ( wantTimeSeparate )  {
        emitToken( ELstring("\n") );
        needAspace = false;
      }
      if (needAspace) { emitToken(ELstring(" ")); needAspace = false; }
      ELstring const& ftime = formatTime(msg.timestamp()); // Change log 7
      emitToken( ftime + ELstring(" ") );
    }
  }
  
  #ifdef ELoutputTRACE_LOG
    std::cerr << "    =:=:=: TimeStamp done \n";
  #endif

  // Provide the context information:
  //
  if  ( !msg.is_verbatim() ) 
 {
    if ( wantSomeContext ) {
      if (needAspace) { emitToken(ELstring(" ")); needAspace = false; }
      #ifdef ELoutputTRACE_LOG
        std::cerr << "    =:=:=:>> context supplier is at 0x"
                  << std::hex
                  << &ELadministrator::instance()->getContextSupplier() << '\n';
        std::cerr << "    =:=:=:>> context is --- "
                  << ELadministrator::instance()->getContextSupplier().context()
                  << '\n';
      #endif
      if ( wantFullContext )  {
        emitToken( ELadministrator::instance()->getContextSupplier().fullContext());
      #ifdef ELoutputTRACE_LOG
        std::cerr << "    =:=:=: fullContext done: \n";
      #endif
      } else  {
        emitToken( ELadministrator::instance()->getContextSupplier().context());
    #ifdef ELoutputTRACE_LOG
      std::cerr << "    =:=:=: Context done: \n";
    #endif
      }
    }
  }
  
  // Provide traceback information:
  //

  bool insertNewlineAfterHeader = ( msg.xid().severity != ELsuccess );
  // ELsuccess is what LogDebug issues
  
  if  ( !msg.is_verbatim() ) 
 {
    if ( msg.xid().severity >= traceThreshold )  {
      emitToken( ELstring("\n")
            + ELadministrator::instance()->getContextSupplier().traceRoutine()
          , insertNewlineAfterHeader );
    }
    else  {                                        //else statement added JV:1
      emitToken("", insertNewlineAfterHeader);
    }
  }
  #ifdef ELoutputTRACE_LOG
    std::cerr << "    =:=:=: Trace routine done: \n";
  #endif

#ifndef OUTPUT_FORMATTED_ERROR_MESSAGES
  // Finally, output each item in the message:
  //
  preambleMode = false;
  if ( wantText )  {
    ELlist_string::const_iterator it;
    int item_count = 0;
    for ( it = msg.items().begin();  it != msg.items().end();  ++it )  {
    #ifdef ELoutputTRACE_LOG
      std::cerr << "      =:=:=: Item:  " << *it << '\n';
    #endif
      ++item_count;
      if  ( !msg.is_verbatim() ) {
        if ( !insertNewlineAfterHeader && (item_count == 3) ) {
          // in a LogDebug message, the first 3 items are FILE, :, and LINE
          emitToken( *it, true );
        } else {
          emitToken( *it );
        }
      } else {
        emitToken( *it );
      }
    }
  }
#endif

  // And after the message, add a %MSG on its own line
  // Change log 4  6/11/07 mf

  if  ( !msg.is_verbatim() ) 
  {
    emitToken("\n%MSG");
  }
  

  // Done; message has been fully processed; separate, flush, and leave
  //

  (*os) << newline;
  flush(); 


  #ifdef ELoutputTRACE_LOG
    std::cerr << "  =:=:=: log(msg) done: \n";
  #endif

  return true;

}  // log()
ELoutput& edm::service::ELoutput::operator= ( const ELoutput orig) [protected]
void edm::service::ELoutput::separateEpilogue ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 652 of file ELoutput.cc.

References wantEpilogueSeparate.

void edm::service::ELoutput::separateTime ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 649 of file ELoutput.cc.

References wantTimeSeparate.

{ wantTimeSeparate = true;  }
void edm::service::ELoutput::summarization ( const ELstring fullTitle,
const ELstring sumLines 
) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 660 of file ELoutput.cc.

References emitToken(), geometryCSVtoXML::line, edm::service::ELdestination::lineLength, os, lumiQueryAPI::q, and indexGen::title.

   {
  const int titleMaxLength( 40 );

  // title:
  //
  ELstring title( fullTitle, 0, titleMaxLength );
  int q = (lineLength - title.length() - 2) / 2;
  ELstring line(q, '=');
  emitToken( "", true );
  emitToken( line );
  emitToken( " " );
  emitToken( title );
  emitToken( " " );
  emitToken( line, true );

  // body:
  //
  *os << sumLines;

  // finish:
  //
  emitToken( "", true );
  emitToken( ELstring(lineLength, '='), true );

}  // summarization()
void edm::service::ELoutput::suppressContext ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 641 of file ELoutput.cc.

References wantSomeContext.

{ wantSomeContext = false; }
void edm::service::ELoutput::suppressModule ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 632 of file ELoutput.cc.

References wantModule.

{ wantModule = false; }
void edm::service::ELoutput::suppressSerial ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 643 of file ELoutput.cc.

References wantSerial.

{ wantSerial = false; }
void edm::service::ELoutput::suppressSubroutine ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 635 of file ELoutput.cc.

References wantSubroutine.

{ wantSubroutine = false; }
void edm::service::ELoutput::suppressText ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 638 of file ELoutput.cc.

References wantText.

{ wantText = false; }
void edm::service::ELoutput::suppressTime ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 629 of file ELoutput.cc.

References wantTimestamp.

{ wantTimestamp = false; }
void edm::service::ELoutput::useContext ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 647 of file ELoutput.cc.

References wantFullContext.

{ wantFullContext = false; }
void edm::service::ELoutput::useFullContext ( ) [protected, virtual]

Reimplemented from edm::service::ELdestination.

Definition at line 646 of file ELoutput.cc.

References wantFullContext.

{ wantFullContext = true;  }

Friends And Related Function Documentation

friend class ELdestControl [friend]

Reimplemented from edm::service::ELdestination.

Reimplemented in edm::service::ELcollected.

Definition at line 51 of file ELoutput.h.


Member Data Documentation

Definition at line 114 of file ELoutput.h.

Referenced by edm::service::ELcollected::emitToken(), emitToken(), and log().

boost::shared_ptr<std::ostream> edm::service::ELoutput::os [protected]

Definition at line 113 of file ELoutput.h.

Referenced by changeFile(), ELoutput(), flush(), and summarization().

Definition at line 118 of file ELoutput.h.

Referenced by ELoutput(), emitToken(), and log().

Definition at line 118 of file ELoutput.h.

Referenced by attachEpilogue(), log(), and separateEpilogue().

Definition at line 118 of file ELoutput.h.

Referenced by log(), useContext(), and useFullContext().

Definition at line 118 of file ELoutput.h.

Referenced by includeModule(), log(), and suppressModule().

Definition at line 118 of file ELoutput.h.

Referenced by includeSerial(), log(), and suppressSerial().

Definition at line 118 of file ELoutput.h.

Referenced by includeContext(), log(), and suppressContext().

Definition at line 118 of file ELoutput.h.

Referenced by includeSubroutine(), log(), and suppressSubroutine().

Definition at line 118 of file ELoutput.h.

Referenced by includeText(), log(), edm::service::ELcollected::log(), and suppressText().

Definition at line 118 of file ELoutput.h.

Referenced by attachTime(), log(), and separateTime().

Definition at line 118 of file ELoutput.h.

Referenced by includeTime(), log(), and suppressTime().

Definition at line 115 of file ELoutput.h.

Referenced by log(), and edm::service::ELcollected::log().