CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ELtsErrorLog.h
Go to the documentation of this file.
1 #ifndef FWCore_MessageService_ELtsErrorLog_h
2 #define FWCore_MessageService_ELtsErrorLog_h
3 
4 
5 // ----------------------------------------------------------------------
6 //
7 // ELtsErrorLog is an implementation class for private derivation by
8 // ThreadSafeErrorLog.
9 //
10 // 5/31/00 mf Created file.
11 //
12 // ----------------------------------------------------------------------
13 
15 
17 
18 namespace edm {
19 namespace service {
20 
21 // ----------------------------------------------------------------------
22 // ELtsErrorLog:
23 // ----------------------------------------------------------------------
24 
25 class ELadministrator;
26 
27 class ELtsErrorLog {
28 
29 public:
30 
31 // ----------------------------------------------------------------------
32 // Birth and Death:
33 // ----------------------------------------------------------------------
34 
35  ELtsErrorLog();
36  ELtsErrorLog( const ELstring & pkgName );
37  ELtsErrorLog( const ErrorLog & ee );
38  ELtsErrorLog( const ELtsErrorLog & ee);
39 
40  void swap( ELtsErrorLog& );
42 protected:
43  virtual ~ELtsErrorLog();
44 
45 // ----------------------------------------------------------------------
46 // Setup for preamble parts
47 // ----------------------------------------------------------------------
48 
49  void setSubroutine( const ELstring & subName );
50  void setModule( const ELstring & modName );
51  void setPackage( const ELstring & pkgName );
52  void setProcess( const ELstring & procName );
53 
54 // ----------------------------------------------------------------------
55 // Setup for advanced control
56 // ----------------------------------------------------------------------
57 
58  int setHexTrigger (int trigger);
62 
63 // ----------------------------------------------------------------------
64 // recovery of an ELdestControl handle
65 // ----------------------------------------------------------------------
66 
67  bool getELdestControl (const ELstring & name,
68  ELdestControl & theDestControl) const;
69 
70 // ----------------------------------------------------------------------
71 // Message Initiation
72 // ----------------------------------------------------------------------
73 
74 void initiateMsg (const ELseverityLevel& sev, const ELstring& id);
75 void initiateMsg (int debugLevel);
76 
77 // ----------------------------------------------------------------------
78 // Message Continuation:
79 // ----------------------------------------------------------------------
80 
81 public:
82  void item ( int n );
83  void item ( unsigned int n );
84  void item ( long n );
85  void item ( unsigned long n );
86  void item ( short n );
87  void item ( unsigned short n );
88  void item ( const ELstring & s );
89  ErrorLog const& errorLog() {
90  return e;
91  }
93  return msg;
94  }
95 
96 // ----------------------------------------------------------------------
97 // Message Completion:
98 // ----------------------------------------------------------------------
99 
100 protected:
101  bool pokeMsg ( edm::ErrorObj & msg );
102  void dispatch ( edm::ErrorObj & msg );
103 
104  // ----- member data:
105  //
106 protected:
112 
113 }; // ELtsErrorLog
114 
115 
116 // ----------------------------------------------------------------------
117 // Message Continuation:
118 // Global methods for physicists logging errors:
119 // Basic streaming for non-integer types:
120 // ----------------------------------------------------------------------
121 
122 template <class T>
123 inline void ELtsItem ( ELtsErrorLog & e, const T & t );
124 
125 // ----------------------------------------------------------------------
126 // Message Continuation:
127 // streaming for char []
128 // ----------------------------------------------------------------------
129 
130 inline void ELtsItem ( ELtsErrorLog & e, const char s[] );
131 
132 // ----------------------------------------------------------------------
133 // Message Continuation:
134 // special streaming for integer types
135 // ----------------------------------------------------------------------
136 
137 inline void ELtsItem ( ELtsErrorLog & e, int n );
138 inline void ELtsItem ( ELtsErrorLog & e, unsigned int n );
139 inline void ELtsItem ( ELtsErrorLog & e, long n );
140 inline void ELtsItem ( ELtsErrorLog & e, unsigned long n );
141 inline void ELtsItem ( ELtsErrorLog & e, short n );
142 inline void ELtsItem ( ELtsErrorLog & e, unsigned short n );
143 
144 inline
146  a.swap(b);
147 }
148 
149 } // end of namespace service
150 } // end of namespace edm
151 
152 #define ELTSERRORLOG_ICC
153 #include "FWCore/MessageService/interface/ELtsErrorLog.icc"
154 
155 #endif // ELTSERRORLOG_H
void ELtsItem(ELtsErrorLog &e, const T &t)
edm::ErrorObj & errorObj()
Definition: ELtsErrorLog.h:92
void setDebugVerbosity(int debugVerbosity)
void setPackage(const ELstring &pkgName)
ELseverityLevel setDiscardThreshold(ELseverityLevel sev)
bool getELdestControl(const ELstring &name, ELdestControl &theDestControl) const
int setHexTrigger(int trigger)
bool pokeMsg(edm::ErrorObj &msg)
ErrorLog const & errorLog()
Definition: ELtsErrorLog.h:89
void setProcess(const ELstring &procName)
void setDebugMessages(ELseverityLevel sev, ELstring id)
void setSubroutine(const ELstring &subName)
void setModule(const ELstring &modName)
void dispatch(edm::ErrorObj &msg)
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
void initiateMsg(const ELseverityLevel &sev, const ELstring &id)
long double T
void swap(ELtsErrorLog &a, ELtsErrorLog &b)
Definition: ELtsErrorLog.h:145
std::string ELstring
Definition: ELstring.h:26
ELtsErrorLog & operator=(const ELtsErrorLog &)
void swap(ELtsErrorLog &)