CMS 3D CMS Logo

ELoutput.h
Go to the documentation of this file.
1 #ifndef FWCore_MessageService_ELoutput_h
2 #define FWCore_MessageService_ELoutput_h
3 
4 // ----------------------------------------------------------------------
5 //
6 // ELoutput is a subclass of ELdestination representing the standard
7 // provided destination.
8 //
9 // 7/8/98 mf Created file.
10 // 6/17/99 jvr Made output format options available for ELdestControl only
11 // 7/2/99 jvr Added separate/attachTime, Epilogue, and Serial options
12 // 2/22/00 mf Changed myDetX to myOutputX (to avoid future puzzlement!)
13 // and added ELoutput(ox) to cacilitate inherited classes.
14 // 6/7/00 web Consolidated ELoutput/X; add filterModule()
15 // 6/14/00 web Declare classes before granting friendship; remove using
16 // 10/4/00 mf add excludeModule()
17 // 4/4/01 mf Removed moduleOfInterest and moduleToExclude, in favor
18 // of using base class method.
19 // 6/23/03 mf changeFile(), flush()
20 // 6/11/07 mf changed default for emitAtStart to false
21 //
22 // ----------------------------------------------------------------------
23 
25 
28 
29 #include <memory>
30 
31 namespace edm {
32 
33  // ----------------------------------------------------------------------
34  // prerequisite classes:
35  // ----------------------------------------------------------------------
36 
37  class ErrorObj;
38  namespace service {
39 
40  // ----------------------------------------------------------------------
41  // ELoutput:
42  // ----------------------------------------------------------------------
43 
44  class ELoutput : public ELdestination {
45  public:
46  // --- Birth/death:
47  //
48  ELoutput();
49  ELoutput(std::ostream& os, bool emitAtStart = false); // 6/11/07 mf
50  ELoutput(const ELstring& fileName, bool emitAtStart = false);
51  ELoutput(const ELoutput& orig);
52  ~ELoutput() override;
53 
54  // --- Methods invoked by the ELadministrator:
55  //
56  public:
57  bool log(const edm::ErrorObj& msg) override;
58 
59  protected:
60  // trivial clearSummary(), wipe(), zero() from base class
61  // trivial three summary(..) from base class
62 
63  protected:
64  // --- Internal Methods -- Users should not invoke these:
65  //
66  protected:
67  void emitToken(const ELstring& s, bool nl = false);
68 
69  void suppressTime() override;
70  void includeTime() override;
71  void suppressModule() override;
72  void includeModule() override;
73  void suppressSubroutine() override;
74  void includeSubroutine() override;
75  void suppressText() override;
76  void includeText() override;
77  void suppressContext() override;
78  void includeContext() override;
79  void suppressSerial() override;
80  void includeSerial() override;
81  void useFullContext() override;
82  void useContext() override;
83  void separateTime() override;
84  void attachTime() override;
85  void separateEpilogue() override;
86  void attachEpilogue() override;
87 
88  void changeFile(std::ostream& os) override;
89  void changeFile(const ELstring& filename) override;
90  void flush() override;
91 
92  protected:
93  // --- member data:
94  //
95  std::shared_ptr<std::ostream> os;
98 
101 
102  // --- Verboten method:
103  //
104  ELoutput& operator=(const ELoutput& orig) = delete;
105 
106  }; // ELoutput
107 
108  // ----------------------------------------------------------------------
109 
110  } // end of namespace service
111 } // end of namespace edm
112 
113 #endif // FWCore_MessageService_ELoutput_h
void suppressText() override
Definition: ELoutput.cc:603
~ELoutput() override
Definition: ELoutput.cc:281
void separateEpilogue() override
Definition: ELoutput.cc:617
edm::ELextendedID xid
Definition: ELoutput.h:97
void flush() override
Definition: ELoutput.cc:642
void includeModule() override
Definition: ELoutput.cc:596
void includeSubroutine() override
Definition: ELoutput.cc:599
void includeContext() override
Definition: ELoutput.cc:605
ELoutput & operator=(const ELoutput &orig)=delete
void attachEpilogue() override
Definition: ELoutput.cc:618
void suppressSerial() override
Definition: ELoutput.cc:608
void separateTime() override
Definition: ELoutput.cc:614
void suppressTime() override
Definition: ELoutput.cc:594
std::shared_ptr< std::ostream > os
Definition: ELoutput.h:95
void useFullContext() override
Definition: ELoutput.cc:611
void includeSerial() override
Definition: ELoutput.cc:609
void emitToken(const ELstring &s, bool nl=false)
Definition: ELoutput.cc:511
void attachTime() override
Definition: ELoutput.cc:615
void suppressModule() override
Definition: ELoutput.cc:597
tuple msg
Definition: mps_check.py:279
void includeTime() override
Definition: ELoutput.cc:593
void useContext() override
Definition: ELoutput.cc:612
HLT enums.
bool log(const edm::ErrorObj &msg) override
Definition: ELoutput.cc:295
void suppressContext() override
Definition: ELoutput.cc:606
std::string ELstring
Definition: ELstring.h:21
void changeFile(std::ostream &os) override
Definition: ELoutput.cc:624
void includeText() override
Definition: ELoutput.cc:602
void suppressSubroutine() override
Definition: ELoutput.cc:600