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

📄 staflogservice.cpp

📁 Software Testing Automation Framework (STAF)的开发代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
static STAFString sLocal("LOCAL");static STAFString sVar("VAR");static STAFString sResStrResolve("RESOLVE REQUEST ");static STAFString sString(" STRING ");static STAFString sTrust("TRUST");static STAFString sMisc("MISC");static STAFString sRESOLVE("RESOLVE");static STAFString sEverythingLogMask("11111111111111111111111111111111");static STAFString sOldSep(kUTF8_VBAR);static STAFString sEOLString("RESOLVE STRING {STAF/Config/Sep/Line}");static STAFString sResMachineString("RESOLVE STRING {STAF/Config/Machine}");static STAFString sDefAuthString(    "RESOLVE STRING {STAF/Config/DefaultAuthenticator}");static STAFString sListDots("........................................");static STAFString sSizeEquals("Size=");static STAFString sGetMachine("GET MACHINE ");static STAFString sGetUser(" USER ");static STAFString sMachine("MACHINE ");static STAFString sLOG("LOG");static STAFString sQUERY("QUERY");static STAFString sLIST("LIST");static STAFString sPURGE("PURGE");static STAFString sDELETE("DELETE");static STAFString sHELP("HELP");static STAFString sSET("SET");static STAFString sVERSION("VERSION");static STAFString sGLOBAL("GLOBAL");static STAFString sMACHINE("MACHINE");static STAFString sMACHINES("MACHINES");static STAFString sHANDLE("HANDLE");static STAFString sHANDLES("HANDLES");static STAFString sLOGNAME("LOGNAME");static STAFString sLEVEL("LEVEL");static STAFString sMESSAGE("MESSAGE");static STAFString sRESOLVEMESSAGE("RESOLVEMESSAGE");static STAFString sNORESOLVEMESSAGE("NORESOLVEMESSAGE");static STAFString sCONTAINS("CONTAINS");static STAFString sCSCONTAINS("CSCONTAINS");static STAFString sSTARTSWITH("STARTSWITH");static STAFString sCSSTARTSWITH("CSSTARTSWITH");static STAFString sQMACHINE("QMACHINE");static STAFString sQHANDLE("QHANDLE");static STAFString sNAME("NAME");static STAFString sUSER("USER");static STAFString sENDPOINT("ENDPOINT");static STAFString sLEVELMASK("LEVELMASK");static STAFString sFROM("FROM");static STAFString sAFTER("AFTER");static STAFString sFROMRECORD("FROMRECORD");static STAFString sTORECORD("TORECORD");static STAFString sBEFORE("BEFORE");static STAFString sTO("TO");static STAFString sLEVELBITSTRING("LEVELBITSTRING");static STAFString sFIRST("FIRST");static STAFString sLAST("LAST");static STAFString sALL("ALL");static STAFString sSTATS("STATS");static STAFString sTOTAL("TOTAL");static STAFString sLONG("LONG");static STAFString sDIRECTORY("DIRECTORY");static STAFString sRMTMACHINE("RMTMACHINE");static STAFString sRMTNICKNAME("RMTNICKNAME");static STAFString sRMTHANDLE("RMTHANDLE");static STAFString sRMTNAME("RMTNAME");static STAFString sRMTUSER("RMTUSER");static STAFString sRMTMACH("RMTMACH");static STAFString sMAXRECORDSIZE("MAXRECORDSIZE");static STAFString sDEFAULTMAXQUERYRECORDS("DEFAULTMAXQUERYRECORDS");static STAFString sENABLERESOLVEMESSAGEVAR("ENABLERESOLVEMESSAGEVAR");static STAFString sDISABLERESOLVEMESSAGEVAR("DISABLERESOLVEMESSAGEVAR");static STAFString sSETTINGS("SETTINGS");static STAFString sENABLEREMOTELOGGING("ENABLEREMOTELOGGING");static STAFString sREMOTELOGSERVER("REMOTELOGSERVER");static STAFString sREMOTELOGSERVICE("REMOTELOGSERVICE");static STAFString sTODAY("TODAY");static STAFString sFATAL("FATAL");static STAFString sERROR("ERROR");static STAFString sWARNING("WARNING");static STAFString sINFO("INFO");static STAFString sTRACE("TRACE");static STAFString sTRACE2("TRACE2");static STAFString sTRACE3("TRACE3");static STAFString sDEBUG("DEBUG");static STAFString sDEBUG2("DEBUG2");static STAFString sDEBUG3("DEBUG3");static STAFString sSTART("START");static STAFString sSTOP("STOP");static STAFString sPASS("PASS");static STAFString sFAIL("FAIL");static STAFString sSTATUS("STATUS");static STAFString sUSER1("USER1");static STAFString sUSER2("USER2");static STAFString sUSER3("USER3");static STAFString sUSER4("USER4");static STAFString sUSER5("USER5");static STAFString sUSER6("USER6");static STAFString sUSER7("USER7");static STAFString sUSER8("USER8");static STAFString sFATALPretty("Fatal");static STAFString sERRORPretty("Error");static STAFString sWARNINGPretty("Warning");static STAFString sINFOPretty("Info");static STAFString sTRACEPretty("Trace");static STAFString sTRACE2Pretty("Trace2");static STAFString sTRACE3Pretty("Trace3");static STAFString sDEBUGPretty("Debug");static STAFString sDEBUG2Pretty("Debug2");static STAFString sDEBUG3Pretty("Debug3");static STAFString sSTARTPretty("Start");static STAFString sSTOPPretty("Stop");static STAFString sPASSPretty("Pass");static STAFString sFAILPretty("Fail");static STAFString sSTATUSPretty("Status");static STAFString sUSER1Pretty("User1");static STAFString sUSER2Pretty("User2");static STAFString sUSER3Pretty("User3");static STAFString sUSER4Pretty("User4");static STAFString sUSER5Pretty("User5");static STAFString sUSER6Pretty("User6");static STAFString sUSER7Pretty("User7");static STAFString sUSER8Pretty("User8");static STAFString sUNKNOWNPretty("Unknown");static STAFString sFATALBits  ("00000000000000000000000000000001");static STAFString sERRORBits  ("00000000000000000000000000000010");static STAFString sWARNINGBits("00000000000000000000000000000100");static STAFString sINFOBits   ("00000000000000000000000000001000");static STAFString sTRACEBits  ("00000000000000000000000000010000");static STAFString sTRACE2Bits ("00000000000000000000000000100000");static STAFString sTRACE3Bits ("00000000000000000000000001000000");static STAFString sDEBUGBits  ("00000000000000000000000010000000");static STAFString sDEBUG2Bits ("00000000000000000000000100000000");static STAFString sDEBUG3Bits ("00000000000000000000001000000000");static STAFString sSTARTBits  ("00000000000000000000010000000000");static STAFString sSTOPBits   ("00000000000000000000100000000000");static STAFString sPASSBits   ("00000000000000000001000000000000");static STAFString sFAILBits   ("00000000000000000010000000000000");static STAFString sSTATUSBits ("00000000000000000100000000000000");static STAFString sUSER1Bits  ("00000001000000000000000000000000");static STAFString sUSER2Bits  ("00000010000000000000000000000000");static STAFString sUSER3Bits  ("00000100000000000000000000000000");static STAFString sUSER4Bits  ("00001000000000000000000000000000");static STAFString sUSER5Bits  ("00010000000000000000000000000000");static STAFString sUSER6Bits  ("00100000000000000000000000000000");static STAFString sUSER7Bits  ("01000000000000000000000000000000");static STAFString sUSER8Bits  ("10000000000000000000000000000000");static STAFString sUNKNOWNBits("00000000000000000000000000000000");static const STAFString sUnauthenticatedUser = "none" +    sSpecSeparator + "anonymous";static unsigned int sCurrRecordFormatID = 4;static unsigned int sListWidth = 40;// Optimal string size - reasonable message length to avoid reallocationstatic unsigned int sQueryResultChunkSize = 8192 - 256;// Prototypesstatic STAFResultPtr handleLog(STAFServiceRequestLevel30 *, LogServiceData *);static STAFResultPtr handleQuery(STAFServiceRequestLevel30 *, LogServiceData *);static STAFResultPtr handlePurge(STAFServiceRequestLevel30 *, LogServiceData *);static STAFResultPtr handleList(STAFServiceRequestLevel30 *, LogServiceData *);static STAFResultPtr handleDelete(STAFServiceRequestLevel30 *, LogServiceData *);static STAFResultPtr handleSet(STAFServiceRequestLevel30 *, LogServiceData *);static STAFResultPtr handleHelp(STAFServiceRequestLevel30 *, LogServiceData *);static STAFResultPtr handleRemoteLog(STAFServiceRequestLevel30 *,                                     LogServiceData *);static STAFResultPtr handleRemoteLogGeneral(STAFServiceRequestLevel30 *,                                            LogServiceData *);static bool isValidLogLevel(const STAFString &levelString,                            unsigned int &outputLevel);static bool convertLogLevelToUInt(const STAFString &levelString,                                  unsigned int &outputLevel);static STAFString &convertLogLevelToString(unsigned int logLevel,                                           bool levelAsBits = false);static bool convertLogMaskToUInt(const STAFString &logmaskString,                                 unsigned int &logMask);void readUIntFromFile(istream &input, unsigned int &data,                     unsigned int length = 4);void writeUIntToFile(ostream &output, unsigned int data,                     unsigned int length = 4);void readStringFromFile(istream &input, STAFString &inString);void writeStringToFile(ostream &output, const STAFString &outString);STAFResultPtr resolveStr(STAFServiceRequestLevel30 *pInfo, LogServiceData *pData,                         const STAFString &theString);STAFResultPtr resolveOp(STAFServiceRequestLevel30 *pInfo, LogServiceData *pData,                        STAFCommandParseResultPtr &parsedResult,                        const STAFString &fOption,                        unsigned int optionIndex = 1);STAFResultPtr resolveOpLocal(LogServiceData *pData,                             STAFCommandParseResultPtr &parsedResult,                             const STAFString &fOption,                             unsigned int optionIndex = 1);bool generateQueryPurgeDeleteLogFilePath(STAFFSPath &logfilePath,     STAFResultPtr &errorResult, STAFServiceRequestLevel30 *pInfo,     LogServiceData *pData, STAFCommandParseResultPtr &parsedResult);bool updateQueryPurgeLogFilter(LogRecordFilter &logFilter,     STAFResultPtr &errorResult, STAFServiceRequestLevel30 *pInfo,     LogServiceData *pData, STAFCommandParseResultPtr &parsedResult);unsigned int readLogRecordFromFile(istream &input, LogRecord &logRecord,                                   unsigned int recordNumber);void writeLogRecordToFile(ostream &output, LogRecord &logRecord);void addLogRecordToList(STAFObjectPtr &logList,                        STAFMapClassDefinitionPtr &logRecordClass,                        const LogRecord &logRecord, bool levelAsBits,                        bool longFormat);void printLogRecord(const LogRecord &logRecord);bool logRecordMatchesFilter(const LogRecord &logRecord,                            const LogRecordFilter &logFilter,                            const STAFString &defaultAuthenticator);void updateLogStats(LogStats &logStats, unsigned int logLevel);void addLogStatsToMap(STAFObjectPtr &queryStatsMap, const LogStats &logStats);static void registerHelpData(LogServiceData *pData, unsigned int errorNumber,                             const STAFString &shortInfo,                             const STAFString &longInfo);static void unregisterHelpData(LogServiceData *pData, unsigned int errorNumber);// Begin implementationSTAFRC_t STAFServiceGetLevelBounds(unsigned int levelID,                                   unsigned int *minimum,                                   unsigned int *maximum){    switch (levelID)    {        case kServiceInfo:        {            *minimum = 30;            *maximum = 30;            break;        }        case kServiceInit:        {            *minimum = 30;            *maximum = 30;            break;        }        case kServiceAcceptRequest:        {            *minimum = 30;            *maximum = 30;            break;        }        case kServiceTerm:        case kServiceDestruct:        {            *minimum = 0;            *maximum = 0;            break;        }        default:        {            return kSTAFInvalidAPILevel;        }    }    return kSTAFOk;}STAFRC_t STAFServiceConstruct(STAFServiceHandle_t *pServiceHandle,                              void *pServiceInfo, unsigned int infoLevel,                              STAFString_t *pErrorBuffer){    STAFRC_t rc = kSTAFUnknownError;    try    {        if (infoLevel != 30) return kSTAFInvalidAPILevel;        STAFServiceInfoLevel30 *pInfo =            reinterpret_cast<STAFServiceInfoLevel30 *>(pServiceInfo);        LogServiceData data;        data.fDebugMode = 0;        data.fRLogMode = 0;        data.fMaxRecordSize = 100000;        data.fDefaultMaxQueryRecords = 100;        data.fDefaultResolveMessage = 0;        data.fUseResolveMessageVar = 0;        data.fRemoteLogService = sLOG;        data.fShortName = STAFString(pInfo->name).toUpperCase();        data.fName = "STAF/Service/";        data.fName += pInfo->name;        data.fResolveLogMaskString = sLeftCurly + data.fName + "/Mask}";        data.fResolveMessageString = sLeftCurly + data.fName +                                     "/ResolveMessage}";        // Walk through and verify the config options        // Note: The log service does not currently have any options        for (unsigned int i = 0; i < pInfo->numOptions; ++i)        {            STAFString optionError("Invalid option, ");            optionError += pInfo->pOptionName[i];            *pErrorBuffer = optionError.adoptImpl();            return kSTAFServiceConfigurationError;        }        // Setup parsers        // PARMS parser        data.fParmsParser = STAFCommandParserPtr(new STAFCommandParser,                                                 STAFCommandParserPtr::INIT);        data.fParmsParser->addOption(

⌨️ 快捷键说明

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