⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eventlogger.cpp

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 CPP
📖 第 1 页 / 共 3 页
字号:
}void getTextGCP_TakeoverStarted(QQQQ) {  BaseString::snprintf(m_text, m_text_len, "GCP Take over started");}void getTextGCP_TakeoverCompleted(QQQQ) {  BaseString::snprintf(m_text, m_text_len, "GCP Take over completed");}void getTextLCP_TakeoverStarted(QQQQ) {  BaseString::snprintf(m_text, m_text_len, "LCP Take over started");}void getTextLCP_TakeoverCompleted(QQQQ) {  BaseString::snprintf(m_text, m_text_len,		       "LCP Take over completed (state = %d)", 		       theData[1]);}void getTextMemoryUsage(QQQQ) {  const int gth = theData[1];  const int size = theData[2];  const int used = theData[3];  const int total = theData[4];  const int block = theData[5];  const int percent = (used*100)/total;      BaseString::snprintf(m_text, m_text_len,		       "%s usage %s %d%s(%d %dK pages of total %d)",		       (block==DBACC ? "Index" : (block == DBTUP ?"Data":"<unknown>")),		       (gth == 0 ? "is" : (gth > 0 ? "increased to" : "decreased to")),		       percent, "%",		       used, size/1024, total		       );}void getTextBackupStarted(QQQQ) {  BaseString::snprintf(m_text, m_text_len, 		       "Backup %d started from node %d", 		       theData[2], refToNode(theData[1]));}void getTextBackupFailedToStart(QQQQ) {  BaseString::snprintf(m_text, m_text_len, 		       "Backup request from %d failed to start. Error: %d", 		       refToNode(theData[1]), theData[2]);}void getTextBackupCompleted(QQQQ) {  BaseString::snprintf(m_text, m_text_len, 		       "Backup %u started from node %u completed\n" 		       " StartGCP: %u StopGCP: %u\n"		       " #Records: %u #LogRecords: %u\n"		       " Data: %u bytes Log: %u bytes",		       theData[2], refToNode(theData[1]),		       theData[3], theData[4], theData[6], theData[8],		       theData[5], theData[7]);}void getTextBackupAborted(QQQQ) {  BaseString::snprintf(m_text, m_text_len, 		       "Backup %d started from %d has been aborted. Error: %d",		       theData[2], 		       refToNode(theData[1]), 		       theData[3]);}void getTextSingleUser(QQQQ) {  switch (theData[1])  {  case 0:    BaseString::snprintf(m_text, m_text_len, "Entering single user mode");    break;  case 1:    BaseString::snprintf(m_text, m_text_len,			 "Entered single user mode "			 "Node %d has exclusive access", theData[2]);    break;  case 2:    BaseString::snprintf(m_text, m_text_len,"Exiting single user mode");    break;  default:    BaseString::snprintf(m_text, m_text_len,			 "Unknown single user report %d", theData[1]);    break;  }}#if 0BaseString::snprintf(m_text, 		     m_text_len, 		     "Unknown event: %d",		     theData[0]);#endif/** * This matrix defines which event should be printed when * * threshold - is in range [0-15] * severity  - DEBUG to ALERT (Type of log message) */#define ROW(a,b,c,d) \{ NDB_LE_ ## a, b, c, d, getText ## a}const EventLoggerBase::EventRepLogLevelMatrix EventLoggerBase::matrix[] = {  // CONNECTION  ROW(Connected,               LogLevel::llConnection,  8, Logger::LL_INFO ),  ROW(Disconnected,            LogLevel::llConnection,  8, Logger::LL_ALERT ),  ROW(CommunicationClosed,     LogLevel::llConnection,  8, Logger::LL_INFO ),  ROW(CommunicationOpened,     LogLevel::llConnection,  8, Logger::LL_INFO ),  ROW(ConnectedApiVersion,     LogLevel::llConnection,  8, Logger::LL_INFO ),  // CHECKPOINT  ROW(GlobalCheckpointStarted, LogLevel::llCheckpoint,  9, Logger::LL_INFO ),  ROW(GlobalCheckpointCompleted,LogLevel::llCheckpoint,10, Logger::LL_INFO ),  ROW(LocalCheckpointStarted,  LogLevel::llCheckpoint,  7, Logger::LL_INFO ),  ROW(LocalCheckpointCompleted,LogLevel::llCheckpoint,  8, Logger::LL_INFO ),  ROW(LCPStoppedInCalcKeepGci, LogLevel::llCheckpoint,  0, Logger::LL_ALERT ),  ROW(LCPFragmentCompleted,    LogLevel::llCheckpoint, 11, Logger::LL_INFO ),  ROW(UndoLogBlocked,          LogLevel::llCheckpoint,  7, Logger::LL_INFO ),  // STARTUP  ROW(NDBStartStarted,         LogLevel::llStartUp,     1, Logger::LL_INFO ),  ROW(NDBStartCompleted,       LogLevel::llStartUp,     1, Logger::LL_INFO ),  ROW(STTORRYRecieved,         LogLevel::llStartUp,    15, Logger::LL_INFO ),  ROW(StartPhaseCompleted,     LogLevel::llStartUp,     4, Logger::LL_INFO ),  ROW(CM_REGCONF,              LogLevel::llStartUp,     3, Logger::LL_INFO ),  ROW(CM_REGREF,               LogLevel::llStartUp,     8, Logger::LL_INFO ),  ROW(FIND_NEIGHBOURS,         LogLevel::llStartUp,     8, Logger::LL_INFO ),  ROW(NDBStopStarted,          LogLevel::llStartUp,     1, Logger::LL_INFO ),  ROW(NDBStopCompleted,        LogLevel::llStartUp,     1, Logger::LL_INFO ),  ROW(NDBStopForced,           LogLevel::llStartUp,     1, Logger::LL_ALERT ),  ROW(NDBStopAborted,          LogLevel::llStartUp,     1, Logger::LL_INFO ),  ROW(StartREDOLog,            LogLevel::llStartUp,    10, Logger::LL_INFO ),  ROW(StartLog,                LogLevel::llStartUp,    10, Logger::LL_INFO ),  ROW(UNDORecordsExecuted,     LogLevel::llStartUp,    15, Logger::LL_INFO ),    // NODERESTART  ROW(NR_CopyDict,             LogLevel::llNodeRestart, 8, Logger::LL_INFO ),  ROW(NR_CopyDistr,            LogLevel::llNodeRestart, 8, Logger::LL_INFO ),  ROW(NR_CopyFragsStarted,     LogLevel::llNodeRestart, 8, Logger::LL_INFO ),  ROW(NR_CopyFragDone,         LogLevel::llNodeRestart,10, Logger::LL_INFO ),  ROW(NR_CopyFragsCompleted,   LogLevel::llNodeRestart, 8, Logger::LL_INFO ),  ROW(NodeFailCompleted,       LogLevel::llNodeRestart, 8, Logger::LL_ALERT),  ROW(NODE_FAILREP,            LogLevel::llNodeRestart, 8, Logger::LL_ALERT),  ROW(ArbitState,		LogLevel::llNodeRestart, 6, Logger::LL_INFO ),  ROW(ArbitResult,	        LogLevel::llNodeRestart, 2, Logger::LL_ALERT),  ROW(GCP_TakeoverStarted,     LogLevel::llNodeRestart, 7, Logger::LL_INFO ),  ROW(GCP_TakeoverCompleted,   LogLevel::llNodeRestart, 7, Logger::LL_INFO ),  ROW(LCP_TakeoverStarted,     LogLevel::llNodeRestart, 7, Logger::LL_INFO ),  ROW(LCP_TakeoverCompleted,   LogLevel::llNodeRestart, 7, Logger::LL_INFO ),  // STATISTIC  ROW(TransReportCounters,     LogLevel::llStatistic,   8, Logger::LL_INFO ),  ROW(OperationReportCounters, LogLevel::llStatistic,   8, Logger::LL_INFO ),   ROW(TableCreated,            LogLevel::llStatistic,   7, Logger::LL_INFO ),  ROW(JobStatistic,            LogLevel::llStatistic,   9, Logger::LL_INFO ),  ROW(SendBytesStatistic,      LogLevel::llStatistic,   9, Logger::LL_INFO ),  ROW(ReceiveBytesStatistic,   LogLevel::llStatistic,   9, Logger::LL_INFO ),  ROW(MemoryUsage,             LogLevel::llStatistic,   5, Logger::LL_INFO ),  // ERROR  ROW(TransporterError,        LogLevel::llError,  2, Logger::LL_ERROR   ),  ROW(TransporterWarning,      LogLevel::llError,  8, Logger::LL_WARNING ),  ROW(MissedHeartbeat,         LogLevel::llError,  8, Logger::LL_WARNING ),  ROW(DeadDueToHeartbeat,      LogLevel::llError,  8, Logger::LL_ALERT   ),  ROW(WarningEvent,            LogLevel::llError,  2, Logger::LL_WARNING ),  // INFO  ROW(SentHeartbeat,           LogLevel::llInfo,  12, Logger::LL_INFO ),  ROW(CreateLogBytes,          LogLevel::llInfo,  11, Logger::LL_INFO ),  ROW(InfoEvent,               LogLevel::llInfo,   2, Logger::LL_INFO ),  //Single User  ROW(SingleUser,              LogLevel::llInfo,   7, Logger::LL_INFO ),  // Backup  ROW(BackupStarted,           LogLevel::llBackup, 7, Logger::LL_INFO ),  ROW(BackupCompleted,         LogLevel::llBackup, 7, Logger::LL_INFO ),  ROW(BackupFailedToStart,     LogLevel::llBackup, 7, Logger::LL_ALERT),  ROW(BackupAborted,           LogLevel::llBackup, 7, Logger::LL_ALERT )};const Uint32 EventLoggerBase::matrixSize=sizeof(EventLoggerBase::matrix)/sizeof(EventRepLogLevelMatrix);EventLogger::EventLogger() : m_filterLevel(15){  setCategory("EventLogger");  enable(Logger::LL_INFO, Logger::LL_ALERT); }EventLogger::~EventLogger(){}boolEventLogger::open(const char* logFileName, int maxNoFiles, long maxFileSize, 		  unsigned int maxLogEntries){  return addHandler(new FileLogHandler(logFileName, maxNoFiles, maxFileSize, 				       maxLogEntries));}voidEventLogger::close(){  removeAllHandlers();}static NdbOut&operator<<(NdbOut& out, const LogLevel & ll){  out << "[LogLevel: ";  for(size_t i = 0; i<LogLevel::LOGLEVEL_CATEGORIES; i++)    out << ll.getLogLevel((LogLevel::EventCategory)i) << " ";  out << "]";  return out;}intEventLoggerBase::event_lookup(int eventType,			      LogLevel::EventCategory &cat,			      Uint32 &threshold, 			      Logger::LoggerLevel &severity,			      EventTextFunction &textF){  for(unsigned i = 0; i<EventLoggerBase::matrixSize; i++){    if(EventLoggerBase::matrix[i].eventType == eventType){      cat = EventLoggerBase::matrix[i].eventCategory;      threshold = EventLoggerBase::matrix[i].threshold;      severity = EventLoggerBase::matrix[i].severity;      textF= EventLoggerBase::matrix[i].textF;      return 0;    }  }  return 1;}const char*EventLogger::getText(char * dst, size_t dst_len,		     EventTextFunction textF,		     const Uint32* theData, NodeId nodeId ){  int pos= 0;  if (nodeId != 0)  {    BaseString::snprintf(dst, dst_len, "Node %u: ", nodeId);    pos= strlen(dst);  }  if (dst_len-pos > 0)    textF(dst+pos,dst_len-pos,theData);  return dst;}void EventLogger::log(int eventType, const Uint32* theData, NodeId nodeId,		 const LogLevel* ll){  Uint32 threshold = 0;  Logger::LoggerLevel severity = Logger::LL_WARNING;  LogLevel::EventCategory cat= LogLevel::llInvalid;  EventTextFunction textF;  DBUG_ENTER("EventLogger::log");  DBUG_PRINT("enter",("eventType=%d, nodeid=%d", eventType, nodeId));  if (EventLoggerBase::event_lookup(eventType,cat,threshold,severity,textF))    DBUG_VOID_RETURN;    Uint32 set = ll?ll->getLogLevel(cat) : m_logLevel.getLogLevel(cat);  DBUG_PRINT("info",("threshold=%d, set=%d", threshold, set));  if (ll)    DBUG_PRINT("info",("m_logLevel.getLogLevel=%d", m_logLevel.getLogLevel(cat)));  if (threshold <= set){    getText(m_text,sizeof(m_text),textF,theData,nodeId);    switch (severity){    case Logger::LL_ALERT:      alert(m_text);      break;    case Logger::LL_CRITICAL:      critical(m_text);       break;    case Logger::LL_WARNING:      warning(m_text);       break;    case Logger::LL_ERROR:      error(m_text);       break;    case Logger::LL_INFO:      info(m_text);       break;    case Logger::LL_DEBUG:      debug(m_text);       break;    default:      info(m_text);       break;    }  } // if (..  DBUG_VOID_RETURN;}intEventLogger::getFilterLevel() const{  return m_filterLevel;}void EventLogger::setFilterLevel(int filterLevel){  m_filterLevel = filterLevel;}//// PRIVATE//

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -