CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
27 
28 #include <memory>
29 
30 namespace edm {
31 
32  // ----------------------------------------------------------------------
33  // prerequisite classes:
34  // ----------------------------------------------------------------------
35 
36  class ErrorObj;
37  namespace service {
38 
39  // ----------------------------------------------------------------------
40  // ELoutput:
41  // ----------------------------------------------------------------------
42 
43  class ELoutput : public ELdestination {
44  public:
45  // --- Birth/death:
46  //
47  ELoutput();
48  ELoutput(std::ostream& os, bool emitAtStart = false); // 6/11/07 mf
49  ELoutput(const std::string& fileName, bool emitAtStart = false);
50  ELoutput(const ELoutput& orig);
51  ELoutput& operator=(const ELoutput& orig) = delete;
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(std::string_view 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 std::string& 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 
105  }; // ELoutput
106 
107  // ----------------------------------------------------------------------
108 
109  } // end of namespace service
110 } // end of namespace edm
111 
112 #endif // FWCore_MessageService_ELoutput_h
void suppressText() override
Definition: ELoutput.cc:604
~ELoutput() override
Definition: ELoutput.cc:282
void separateEpilogue() override
Definition: ELoutput.cc:618
edm::ELextendedID xid
Definition: ELoutput.h:97
void flush() override
Definition: ELoutput.cc:643
void includeModule() override
Definition: ELoutput.cc:597
void includeSubroutine() override
Definition: ELoutput.cc:600
void includeContext() override
Definition: ELoutput.cc:606
ELoutput & operator=(const ELoutput &orig)=delete
void attachEpilogue() override
Definition: ELoutput.cc:619
void suppressSerial() override
Definition: ELoutput.cc:609
void emitToken(std::string_view s, bool nl=false)
Definition: ELoutput.cc:512
void separateTime() override
Definition: ELoutput.cc:615
void suppressTime() override
Definition: ELoutput.cc:595
std::shared_ptr< std::ostream > os
Definition: ELoutput.h:95
void useFullContext() override
Definition: ELoutput.cc:612
void includeSerial() override
Definition: ELoutput.cc:610
void attachTime() override
Definition: ELoutput.cc:616
void suppressModule() override
Definition: ELoutput.cc:598
tuple msg
Definition: mps_check.py:285
void includeTime() override
Definition: ELoutput.cc:594
void useContext() override
Definition: ELoutput.cc:613
tuple filename
Definition: lut2db_cfg.py:20
bool log(const edm::ErrorObj &msg) override
Definition: ELoutput.cc:296
void suppressContext() override
Definition: ELoutput.cc:607
void changeFile(std::ostream &os) override
Definition: ELoutput.cc:625
void includeText() override
Definition: ELoutput.cc:603
void suppressSubroutine() override
Definition: ELoutput.cc:601