CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Static Private Attributes
edm::MessageLoggerQ Class Reference

#include <MessageLoggerQ.h>

Public Types

enum  OpCode {
  END_THREAD, LOG_A_MESSAGE, CONFIGURE, EXTERN_DEST,
  SUMMARIZE, JOBREPORT, JOBMODE, SHUT_UP,
  FLUSH_LOG_Q, GROUP_STATS, FJR_SUMMARY
}
 

Static Public Member Functions

static bool handshaked (const OpCode &op)
 
static bool ignore (edm::ELseverityLevel const &severity, std::string const &category)
 
static MessageLoggerQinstance ()
 
static void MLqCFG (ParameterSet *p)
 
static void MLqEND ()
 
static void MLqEXT (service::NamedDestination *p)
 
static void MLqFLS ()
 
static void MLqGRP (std::string *cat_p)
 
static void MLqJOB (std::string *j)
 
static void MLqJRS (std::map< std::string, double > *sum_p)
 
static void MLqLOG (ErrorObj *p)
 
static void MLqMOD (std::string *jm)
 
static void MLqSHT ()
 
static void MLqSUM ()
 
static void setMLscribe_ptr (boost::shared_ptr< edm::service::AbstractMLscribe > m)
 
static void squelch (std::string const &category)
 
static void standAloneThreshold (std::string const &severity)
 

Private Member Functions

 MessageLoggerQ ()
 
 MessageLoggerQ (MessageLoggerQ const &)
 
void operator= (MessageLoggerQ const &)
 
 ~MessageLoggerQ ()
 

Static Private Member Functions

static void handshakedCommand (OpCode opcode, void *operand, std::string const &commandMnemonic)
 
static void simpleCommand (OpCode opcode, void *operand)
 

Static Private Attributes

static boost::shared_ptr
< edm::service::AbstractMLscribe
mlscribe_ptr = obtainStandAloneScribePtr()
 
static std::set< std::string > squelchSet
 
static edm::ELseverityLevel threshold
 

Detailed Description

Definition at line 25 of file MessageLoggerQ.h.

Member Enumeration Documentation

Enumerator
END_THREAD 
LOG_A_MESSAGE 
CONFIGURE 
EXTERN_DEST 
SUMMARIZE 
JOBREPORT 
JOBMODE 
SHUT_UP 
FLUSH_LOG_Q 
GROUP_STATS 
FJR_SUMMARY 

Definition at line 29 of file MessageLoggerQ.h.

Constructor & Destructor Documentation

MessageLoggerQ::MessageLoggerQ ( )
private

Definition at line 124 of file MessageLoggerQ.cc.

125 { }
MessageLoggerQ::~MessageLoggerQ ( )
private

Definition at line 128 of file MessageLoggerQ.cc.

129 { }
edm::MessageLoggerQ::MessageLoggerQ ( MessageLoggerQ const &  )
private

Member Function Documentation

bool MessageLoggerQ::handshaked ( const OpCode op)
static

Definition at line 251 of file MessageLoggerQ.cc.

References CONFIGURE, FJR_SUMMARY, and FLUSH_LOG_Q.

Referenced by edm::service::MainThreadMLscribe::runCommand().

252 {
253  return ( (op == CONFIGURE) || (op == FLUSH_LOG_Q) || (op == FJR_SUMMARY) );
254 } // MessageLoggerQ::handshaked(op)
void MessageLoggerQ::handshakedCommand ( OpCode  opcode,
void *  operand,
std::string const &  commandMnemonic 
)
staticprivate

Definition at line 157 of file MessageLoggerQ.cc.

References dtNoiseDBValidation_cfg::cerr, mlscribe_ptr, and cms::Exception::what().

Referenced by MLqCFG(), MLqFLS(), and MLqJRS().

161 { // Change Log 10
162  try {
163  mlscribe_ptr->runCommand(opcode, operand);
164  }
165  catch(edm::Exception& ex)
166  {
167  ex << "\n The preceding exception was thrown in MessageLoggerScribe\n";
168  ex << "and forwarded to the main thread from the Messages thread.";
169  std::cerr << "exception from MessageLoggerQ::"
170  << commandMnemonic << " - exception what() is \n"
171  << ex.what();
172  // TODO - get the above text into the what itself
173  throw ex;
174  }
175 } // handshakedCommand
virtual char const * what() const
Definition: Exception.cc:141
static boost::shared_ptr< edm::service::AbstractMLscribe > mlscribe_ptr
bool MessageLoggerQ::ignore ( edm::ELseverityLevel const &  severity,
std::string const &  category 
)
static

Definition at line 265 of file MessageLoggerQ.cc.

References squelchSet, and threshold.

266  {
267  if ( severity < threshold ) return true;
268  if ( squelchSet.count(category) > 0 ) return true;
269  return false;
270 }
static edm::ELseverityLevel threshold
static std::set< std::string > squelchSet
MessageLoggerQ * MessageLoggerQ::instance ( )
static

Definition at line 133 of file MessageLoggerQ.cc.

References launcher::queue.

134 {
135  static MessageLoggerQ queue;
136  return &queue;
137 } // MessageLoggerQ::instance()
list queue
Definition: launcher.py:18
void MessageLoggerQ::MLqCFG ( ParameterSet p)
static

Definition at line 197 of file MessageLoggerQ.cc.

References CONFIGURE, and handshakedCommand().

Referenced by edm::service::MessageLogger::MessageLogger().

198 {
199  handshakedCommand(CONFIGURE, p, "CFG" );
200 } // MessageLoggerQ::CFG()
static void handshakedCommand(OpCode opcode, void *operand, std::string const &commandMnemonic)
void MessageLoggerQ::MLqEND ( )
static

Definition at line 178 of file MessageLoggerQ.cc.

References END_THREAD, and simpleCommand().

Referenced by run_app(), edm::service::MessageServicePresence::~MessageServicePresence(), and edm::service::SingleThreadMSPresence::~SingleThreadMSPresence().

179 {
180  simpleCommand (END_THREAD, (void *)0);
181 } // MessageLoggerQ::END()
static void simpleCommand(OpCode opcode, void *operand)
void MessageLoggerQ::MLqEXT ( service::NamedDestination p)
static

Definition at line 203 of file MessageLoggerQ.cc.

References EXTERN_DEST, and simpleCommand().

Referenced by ML::MLlog4cplus::MLlog4cplus().

204 {
205  simpleCommand (EXTERN_DEST, static_cast<void *>(p));
206 }
static void simpleCommand(OpCode opcode, void *operand)
void MessageLoggerQ::MLqFLS ( )
static

Definition at line 228 of file MessageLoggerQ.cc.

References FLUSH_LOG_Q, and handshakedCommand().

Referenced by edm::FlushMessageLog().

229 {
230  // The ConfigurationHandshake, developed for synchronous CFG, contains a
231  // place to convey exception information. FLS does not need this, nor does
232  // it need the parameter set, but we are reusing ConfigurationHandshake
233  // rather than reinventing the mechanism.
234  handshakedCommand(FLUSH_LOG_Q, 0, "FLS" );
235 } // MessageLoggerQ::FLS()
static void handshakedCommand(OpCode opcode, void *operand, std::string const &commandMnemonic)
void MessageLoggerQ::MLqGRP ( std::string *  cat_p)
static

Definition at line 238 of file MessageLoggerQ.cc.

References GROUP_STATS, and simpleCommand().

Referenced by edm::GroupLogStatistics().

239 {
240  simpleCommand (GROUP_STATS, static_cast<void *>(cat_p));
241 } // MessageLoggerQ::GRP()
static void simpleCommand(OpCode opcode, void *operand)
void MessageLoggerQ::MLqJOB ( std::string *  j)
static

Definition at line 215 of file MessageLoggerQ.cc.

References JOBREPORT, and simpleCommand().

Referenced by edm::service::MessageLogger::MessageLogger().

216 {
217  simpleCommand (JOBREPORT, static_cast<void *>(j));
218 } // MessageLoggerQ::JOB()
int j
Definition: DBlmapReader.cc:9
static void simpleCommand(OpCode opcode, void *operand)
void MessageLoggerQ::MLqJRS ( std::map< std::string, double > *  sum_p)
static

Definition at line 244 of file MessageLoggerQ.cc.

References FJR_SUMMARY, and handshakedCommand().

Referenced by edm::service::MessageLogger::SummarizeInJobReport().

245 {
246  handshakedCommand(FJR_SUMMARY, sum_p, "JRS" );
247 } // MessageLoggerQ::CFG()
static void handshakedCommand(OpCode opcode, void *operand, std::string const &commandMnemonic)
void MessageLoggerQ::MLqLOG ( ErrorObj p)
static

Definition at line 190 of file MessageLoggerQ.cc.

References LOG_A_MESSAGE, and simpleCommand().

Referenced by edm::MessageSender::ErrorObjDeleter::operator()().

191 {
192  simpleCommand (LOG_A_MESSAGE, static_cast<void *>(p));
193 } // MessageLoggerQ::LOG()
static void simpleCommand(OpCode opcode, void *operand)
void MessageLoggerQ::MLqMOD ( std::string *  jm)
static

Definition at line 221 of file MessageLoggerQ.cc.

References JOBMODE, and simpleCommand().

Referenced by edm::service::MessageLogger::MessageLogger().

222 {
223  simpleCommand (JOBMODE, static_cast<void *>(jm));
224 } // MessageLoggerQ::MOD()
static void simpleCommand(OpCode opcode, void *operand)
void MessageLoggerQ::MLqSHT ( )
static

Definition at line 184 of file MessageLoggerQ.cc.

References SHUT_UP, and simpleCommand().

Referenced by edm::HaltMessageLogging().

185 {
186  simpleCommand (SHUT_UP, (void *)0);
187 } // MessageLoggerQ::SHT()
static void simpleCommand(OpCode opcode, void *operand)
void MessageLoggerQ::MLqSUM ( )
static

Definition at line 209 of file MessageLoggerQ.cc.

References simpleCommand(), and SUMMARIZE.

Referenced by edm::service::MessageLogger::jobFailure(), edm::LogStatistics(), and edm::service::MessageLogger::postEndJob().

210 {
211  simpleCommand (SUMMARIZE, 0);
212 } // MessageLoggerQ::SUM()
static void simpleCommand(OpCode opcode, void *operand)
void edm::MessageLoggerQ::operator= ( MessageLoggerQ const &  )
private
void MessageLoggerQ::setMLscribe_ptr ( boost::shared_ptr< edm::service::AbstractMLscribe m)
static

Definition at line 141 of file MessageLoggerQ.cc.

References m.

Referenced by edm::service::MessageServicePresence::MessageServicePresence(), run_app(), edm::service::SingleThreadMSPresence::SingleThreadMSPresence(), edm::service::MessageServicePresence::~MessageServicePresence(), and edm::service::SingleThreadMSPresence::~SingleThreadMSPresence().

142 {
143  if (!m) {
144  mlscribe_ptr = obtainStandAloneScribePtr();
145  } else {
146  mlscribe_ptr = m;
147  }
148 } // MessageLoggerQ::setMLscribe_ptr(m)
static boost::shared_ptr< edm::service::AbstractMLscribe > mlscribe_ptr
void MessageLoggerQ::simpleCommand ( OpCode  opcode,
void *  operand 
)
staticprivate

Definition at line 151 of file MessageLoggerQ.cc.

References mlscribe_ptr.

Referenced by MLqEND(), MLqEXT(), MLqGRP(), MLqJOB(), MLqLOG(), MLqMOD(), MLqSHT(), and MLqSUM().

152 {
153  mlscribe_ptr->runCommand(opcode, operand);
154 } // simpleCommand
static boost::shared_ptr< edm::service::AbstractMLscribe > mlscribe_ptr
void MessageLoggerQ::squelch ( std::string const &  category)
static

Definition at line 262 of file MessageLoggerQ.cc.

References squelchSet.

Referenced by edm::squelchStandAloneMessageCategory().

262  {
263  squelchSet.insert(category);
264 }
static std::set< std::string > squelchSet
void MessageLoggerQ::standAloneThreshold ( std::string const &  severity)
static

Definition at line 259 of file MessageLoggerQ.cc.

References threshold.

Referenced by edm::setStandAloneMessageThreshold().

259  {
260  threshold = edm::ELseverityLevel(severity);
261 }
static edm::ELseverityLevel threshold

Member Data Documentation

boost::shared_ptr< edm::service::AbstractMLscribe > MessageLoggerQ::mlscribe_ptr = obtainStandAloneScribePtr()
staticprivate

Definition at line 88 of file MessageLoggerQ.h.

Referenced by handshakedCommand(), and simpleCommand().

std::set< std::string > MessageLoggerQ::squelchSet
staticprivate

Definition at line 90 of file MessageLoggerQ.h.

Referenced by ignore(), and squelch().

edm::ELseverityLevel MessageLoggerQ::threshold
staticprivate

Definition at line 89 of file MessageLoggerQ.h.

Referenced by utils.StatisticalTest::get_status(), ignore(), and standAloneThreshold().