Go to the documentation of this file.00001 #ifndef FWCore_MessageService_ELoutput_h
00002 #define FWCore_MessageService_ELoutput_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "FWCore/MessageService/interface/ELdestination.h"
00026
00027 #include "FWCore/MessageLogger/interface/ELstring.h"
00028 #include "FWCore/MessageLogger/interface/ELextendedID.h"
00029
00030 #include "boost/shared_ptr.hpp"
00031
00032 namespace edm {
00033
00034
00035
00036
00037
00038
00039 class ErrorObj;
00040 namespace service {
00041
00042 class ELdestControl;
00043
00044
00045
00046
00047
00048
00049 class ELoutput : public ELdestination {
00050
00051 friend class ELdestControl;
00052
00053 public:
00054
00055
00056
00057 ELoutput();
00058 ELoutput( std::ostream & os, bool emitAtStart = false );
00059 ELoutput( const ELstring & fileName, bool emitAtStart = false );
00060 ELoutput( const ELoutput & orig );
00061 virtual ~ELoutput();
00062
00063
00064
00065 public:
00066 virtual
00067 ELoutput *
00068 clone() const;
00069
00070
00071
00072
00073
00074 virtual bool log( const edm::ErrorObj & msg );
00075
00076
00077
00078 protected:
00079
00080
00081
00082
00083
00084 protected:
00085
00086
00087
00088
00089 protected:
00090 virtual void emitToken( const ELstring & s, bool nl=false );
00091
00092 virtual void suppressTime(); virtual void includeTime();
00093 virtual void suppressModule(); virtual void includeModule();
00094 virtual void suppressSubroutine(); virtual void includeSubroutine();
00095 virtual void suppressText(); virtual void includeText();
00096 virtual void suppressContext(); virtual void includeContext();
00097 virtual void suppressSerial(); virtual void includeSerial();
00098 virtual void useFullContext(); virtual void useContext();
00099 virtual void separateTime(); virtual void attachTime();
00100 virtual void separateEpilogue(); virtual void attachEpilogue();
00101
00102 virtual void summarization ( const ELstring & fullTitle
00103 , const ELstring & sumLines );
00104
00105 virtual void changeFile (std::ostream & os);
00106 virtual void changeFile (const ELstring & filename);
00107 virtual void flush();
00108
00109
00110 protected:
00111
00112
00113 boost::shared_ptr<std::ostream> os;
00114 int charsOnLine;
00115 edm::ELextendedID xid;
00116
00117 bool wantTimestamp
00118 , wantModule
00119 , wantSubroutine
00120 , wantText
00121 , wantSomeContext
00122 , wantSerial
00123 , wantFullContext
00124 , wantTimeSeparate
00125 , wantEpilogueSeparate
00126 , preambleMode
00127 ;
00128
00129
00130
00131 ELoutput & operator=( const ELoutput & orig );
00132
00133 };
00134
00135
00136
00137
00138
00139 }
00140 }
00141
00142
00143 #endif // FWCore_MessageService_ELoutput_h