Browse Source

!2 add extra test log

chenliangyu 3 months ago
parent
commit
9fed163ea8

+ 1 - 0
Framework/Common/SpBase.h

@@ -1667,6 +1667,7 @@ SPBASE_API int getCurLogLevel();
 SPBASE_API int getReduceSpbaseLog();
 SPBASE_API void setReduceSpbaseLog(int isNor);
 SPBASE_API void setTestLogMode();
+SPBASE_API int SendTestLog_loki(const char* app, const char* env, const char* body);
 SPBASE_API ErrorCodeEnum GetAllEntityIdx(CAutoArray<CSimpleStringA>& strEntityNames, CAutoArray<WORD>& wEntityDevelopIDs);
 
 

+ 39 - 0
Framework/RvcLogSdk/baseFun.cpp

@@ -66,6 +66,45 @@ int RvcLogSdkManager::SendTestLog(const char* body)
     return 0;
 }
 
+int RvcLogSdkManager::SendTestLog_loki(const char* app, const char* env, const char* body)
+{
+    // 1. 构造Loki兼容的JSON请求体
+    Json::Value root;
+    Json::Value stream;
+    Json::Value values(Json::arrayValue);
+
+    // 设置标签
+    stream["app"] = app;
+    stream["env"] = env;
+
+    // 设置日志内容和时间戳(当前时间戳,纳秒级)
+    Json::Value logEntry(Json::arrayValue);
+    logEntry.append(std::to_string(std::chrono::duration_cast<std::chrono::nanoseconds>(
+        std::chrono::system_clock::now().time_since_epoch()).count()));
+    logEntry.append(body);
+    values.append(logEntry);
+
+    // 组装完整请求
+    Json::Value streams(Json::arrayValue);
+    Json::Value streamObj;
+    streamObj["stream"] = stream;
+    streamObj["values"] = values;
+    streams.append(streamObj);
+    root["streams"] = streams;
+
+    Json::FastWriter writer;
+    std::string jsonReq = writer.write(root);
+
+    HttpClientRequestConfig sendErr(HttpRequestMethod::POST, "http://99.12.23.49:3100/loki/api/v1/push");
+    HttpClientResponseResult curResult;
+
+    sendErr.SetJsonBody(jsonReq.c_str());
+    RestfulClient client = RestfulClient::getInstance();
+    sendErr.PreDo();
+    client.Do(&sendErr, &curResult, NULL);//Test Logs
+    return 0;
+}
+
 
 
 #ifndef _WIN32

+ 1 - 0
Framework/RvcLogSdk/baseFun.h

@@ -30,6 +30,7 @@ public:
 
     int LOG_OS_TestLogPost(const char* url, const char* body);
     int SendTestLog(const char* body);
+    int SendTestLog_loki(const char* app, const char* env, const char* body);
 private:
     std::list<log_group_builder*> m_resend_frame_list;
 private:

+ 0 - 0
Framework/RvcLogSdk/baseFunc.h


+ 5 - 0
Framework/RvcLogSdk/log_producer_client.cpp

@@ -182,4 +182,9 @@ log_producer_result log_producer_client_add_beidou_log(log_producer_client* clie
 void log_producer_set_testLogMode()
 {
     RvcLogSdkManager::getInstance().m_testLogMode = true;
+}
+
+int log_producer_sendTestLog_loki(const char* app, const char* env, const char* body)
+{
+    return RvcLogSdkManager::getInstance().SendTestLog_loki(app, env, body);
 }

+ 2 - 0
Framework/RvcLogSdk/log_producer_client.h

@@ -69,6 +69,8 @@ LOG_EXPORT log_producer_result log_producer_client_add_beidou_log(log_producer_c
 
 LOG_EXPORT void log_producer_set_testLogMode();
 
+LOG_EXPORT int log_producer_sendTestLog_loki(const char* app, const char* env, const char* body);
+
 LOG_CPP_END
 
 #endif

+ 8 - 1
Framework/spbase/SpEntity.cpp

@@ -31,13 +31,14 @@
 #ifdef _WIN32
 #include "CodeSignVerify.h"
 #include "sp_checkEntity.h"
+#include "sp_firewallControl.h"
 #else
 #include "sp_dbg_export.h"
 #endif //_WIN32
 #include "sp_httpDefine.h"
 #include <iostream>
 #include <sstream>
-#include "sp_firewallControl.h"
+
 
 
 
@@ -1743,7 +1744,13 @@ ErrorCodeEnum SpEntity::GetToken(CSimpleString &channelId, CSimpleString &token)
 
 ErrorCodeEnum SpEntity::SetNewPathToFirewall(CSimpleString &pszPath)
 {
+#ifdef _WIN32
 	return sp_AddFirewallRuleByPath(pszPath.GetData()) ? Error_Succeed : Error_Bug;
+#else
+	return Error_NotSupport;
+#endif // RVC_OS_WIN
+
+	
 }
 
 ErrorCodeEnum SpEntity::GetEntityStaticInfo(WORD wEntitySerialNO, CEntityStaticInfo &Info)

+ 5 - 0
Framework/spbase/sp_logwithlink.cpp

@@ -833,6 +833,11 @@ SPBASE_API void setTestLogMode()
     log_producer_set_testLogMode();
 }
 
+SPBASE_API int SendTestLog_loki(const char* app, const char* env, const char* body)
+{
+    return log_producer_sendTestLog_loki(app, env, body);
+}
+
 int changeDbtoNew()
 {
     char tmp[MAX_PATH];

+ 1 - 0
Framework/spshell/spshell.cpp

@@ -747,6 +747,7 @@ std::string generateCenterSettingPath()
 
 int main(int argc, char** argv)
 {
+	//SendTestLog_loki("spshell", "log", "startup");
 	sp_cfg_start_args_t* args = DealWithArgs(argc, argv);
 #if defined(RVC_OS_LINUX)
 	if (args->debug_mode) {