diff --git a/adapter/properties.cpp b/adapter/properties.cpp index 39dab72433343c9f3a34952eaf0a632d8ea4aae3..aa407d75243c4ea2450f8bc5a06acc934d44e8b9 100644 --- a/adapter/properties.cpp +++ b/adapter/properties.cpp @@ -69,26 +69,17 @@ using ProcessInfo = struct { uint32_t processQuota; }; -static int PropLock(pthread_mutex_t *propLock) -{ - return pthread_mutex_trylock(propLock); -} - -static void PropUnlock(pthread_mutex_t *propLock) -{ - pthread_mutex_unlock(propLock); -} - void PropertyGet(const std::string &key, char *value, int len) { if (len < HILOG_PROP_VALUE_MAX) { return; } + /* use OHOS interface */ } void PropertySet(const std::string &key, const char* value) { -/* use OHOS interface */ + /* use OHOS interface */ } std::string GetProgName() @@ -188,13 +179,13 @@ static void UnlockByProp(uint32_t propType) static void RefreshCacheBuf(PropertyCache *cache, const char *key) { -/* use OHOS interface */ + /* use OHOS interface */ } static bool CheckCache(const PropertyCache *cache) { return true; -/* use OHOS interface */ + /* use OHOS interface */ } static bool GetSwitchCache(bool isFirst, SwitchCache& switchCache, uint32_t propType, bool defaultValue) @@ -285,14 +276,14 @@ uint16_t GetGlobalLevel() int notLocked; if (!isFirstFlag.test_and_set() || CheckCache(&levelCache.cache)) { - notLocked = PropLock(&g_globalLevelLock); + notLocked = LockByProp(PROP_GLOBAL_LOG_LEVEL); if (!notLocked) { RefreshCacheBuf(&levelCache.cache, key.c_str()); if (sscanf_s(levelCache.cache.propertyValue, "%d", &levelCache.logLevel) <= 0) { - PropUnlock(&g_globalLevelLock); + UnlockByProp(PROP_GLOBAL_LOG_LEVEL); return HILOG_LEVEL_MIN; } - PropUnlock(&g_globalLevelLock); + UnlockByProp(PROP_GLOBAL_LOG_LEVEL); return levelCache.logLevel; } else { LogLevelCache tmpCache = {{nullptr, 0xffffffff, ""}, HILOG_LEVEL_MIN}; @@ -327,14 +318,14 @@ uint16_t GetDomainLevel(uint32_t domain) return levelCache->logLevel; } else { // exist domain if (CheckCache(&it->second->cache)) { // change - notLocked = PropLock(&g_domainLevelLock); + notLocked = LockByProp(PROP_DOMAIN_LOG_LEVEL); if (!notLocked) { RefreshCacheBuf(&it->second->cache, key.c_str()); if (sscanf_s(it->second->cache.propertyValue, "%d", &it->second->logLevel) <= 0) { - PropUnlock(&g_domainLevelLock); + UnlockByProp(PROP_DOMAIN_LOG_LEVEL); return HILOG_LEVEL_MIN; } - PropUnlock(&g_domainLevelLock); + UnlockByProp(PROP_DOMAIN_LOG_LEVEL); return it->second->logLevel; } else { LogLevelCache tmpCache = {{nullptr, 0xffffffff, ""}, HILOG_LEVEL_MIN}; @@ -371,14 +362,14 @@ uint16_t GetTagLevel(const std::string& tag) return levelCache->logLevel; } else { if (CheckCache(&it->second->cache)) { - notLocked = PropLock(&g_tagLevelLock); + notLocked = LockByProp(PROP_TAG_LOG_LEVEL); if (!notLocked) { RefreshCacheBuf(&it->second->cache, key.c_str()); if (sscanf_s(it->second->cache.propertyValue, "%d", &it->second->logLevel) <= 0) { - PropUnlock(&g_tagLevelLock); + UnlockByProp(PROP_TAG_LOG_LEVEL); return HILOG_LEVEL_MIN; } - PropUnlock(&g_tagLevelLock); + UnlockByProp(PROP_TAG_LOG_LEVEL); return it->second->logLevel; } else { LogLevelCache tmpCache = {{nullptr, 0xffffffff, ""}, HILOG_LEVEL_MIN}; diff --git a/adapter/properties.h b/adapter/properties.h index cebbaa193af0ecdd55d7bffdbf5d18deefea87d0..42d1f7b6bd2d9fe7b17374c240633c434af99f83 100644 --- a/adapter/properties.h +++ b/adapter/properties.h @@ -20,6 +20,7 @@ #include #include + static const int HILOG_PROP_VALUE_MAX = 92; using PropType = enum { diff --git a/services/hilogd/log_buffer.cpp b/services/hilogd/log_buffer.cpp index 7fd532709a65a4149ae1ac8ff56456a9cfb77b5f..70c694f156f8a3edf3a591b07a10a5555e9e9674 100644 --- a/services/hilogd/log_buffer.cpp +++ b/services/hilogd/log_buffer.cpp @@ -236,7 +236,7 @@ bool HilogBuffer::Query(LogReader* reader) size_t HilogBuffer::GetBuffLen(uint16_t logType) { if (logType >= LOG_TYPE_MAX) { - return 0; + return -1; } uint64_t buffSize = g_maxBufferSizeByType[logType]; return buffSize; diff --git a/services/hilogd/log_querier.cpp b/services/hilogd/log_querier.cpp index e08ed10171e9888430dae2f120426f7eadeea3fa..8ef90acff30ad9f63f7d8c1ffbb8f2fffc9f60e4 100644 --- a/services/hilogd/log_querier.cpp +++ b/services/hilogd/log_querier.cpp @@ -135,7 +135,7 @@ void HandlePersistStartRequest(char* reqMsg, std::shared_ptr logReade pLogPersistStartRst->result = persister->Init(); persister->queryCondition.types = pLogPersistStartMsg->logType; persister->queryCondition.levels = DEFAULT_LOG_LEVEL; - if (pLogPersistStartRst->result == RET_FAIL) { + if (pLogPersistStartRst->result == RET_FAIL) { persister.reset(); } else { persister->Start(); @@ -284,7 +284,7 @@ void HandleBufferSizeRequest(char* reqMsg, std::shared_ptr logReader, uint32_t msgNum = 0; uint16_t msgLen = pBufferSizeReq->msgHeader.msgLen; uint16_t sendMsgLen = 0; - uint64_t buffLen; + int64_t buffLen; if (msgLen > sizeof(BuffSizeMsg) * LOG_TYPE_MAX) { return; diff --git a/services/hilogtool/log_controller.cpp b/services/hilogtool/log_controller.cpp index d8284f21275c04503b03f7441c5edc7da8a2ac10..84ddbfc15e64e98b90ea948a3f24cf45d712ac7e 100644 --- a/services/hilogtool/log_controller.cpp +++ b/services/hilogtool/log_controller.cpp @@ -37,6 +37,7 @@ using namespace std; const int MSG_MAX_LEN = 2048; const int LOG_PERSIST_FILE_SIZE = 4 * ONE_MB; const int LOG_PERSIST_FILE_NUM = 10; +const uint32_t DEFAULT_JOBID = 1; void SetMsgHead(MessageHeader* msgHeader, const uint8_t msgCmd, const uint16_t msgLen) { @@ -366,7 +367,7 @@ int32_t LogPersistOp(SeqPacketSocketClient& controller, uint8_t msgCmd, LogPersi } pLogPersistStartMsg->logType = (0b01 << tmpType) | pLogPersistStartMsg->logType; } - pLogPersistStartMsg->jobId = (logPersistParam->jobIdStr == "") ? time(nullptr) + pLogPersistStartMsg->jobId = (logPersistParam->jobIdStr == "") ? DEFAULT_JOBID : stoi(logPersistParam->jobIdStr); pLogPersistStartMsg->compressType = (logPersistParam->compressTypeStr == "") ? STREAM : stoi(logPersistParam ->compressTypeStr); diff --git a/services/hilogtool/main.cpp b/services/hilogtool/main.cpp index 8645f806a98b36c870901a27c7b9e1b8e6006dc7..36b54c5e978cec77bc6da02e0db4d0ddd28e843e 100644 --- a/services/hilogtool/main.cpp +++ b/services/hilogtool/main.cpp @@ -103,6 +103,8 @@ static void Helper() " nsec display time by nano sec.\n" " year display the year.\n" " zone display the time zone.\n" + " -b , --baselevel=\n" + " set loggable level.\n" ); }