Răsfoiți Sursa

Z991239-5349 #comment fea: Add traceId and businessId to Dbgwithlink()

chenliangyu 1 an în urmă
părinte
comite
07ca31c989
2 a modificat fișierele cu 10 adăugiri și 1 ștergeri
  1. 3 0
      Framework/Common/SpHelper.h
  2. 7 1
      Framework/spbase/sp_logwithlink.cpp

+ 3 - 0
Framework/Common/SpHelper.h

@@ -216,6 +216,7 @@ struct SpReqAnsContext
 
 	virtual ErrorCodeEnum Answer(ErrorCodeEnum Error = Error_Succeed)
 	{
+		EntityResource::clearLink();
 		//static_assert(Error == Error_Succeed, "Input parameter must be Error_Succeed!");
 		if (Error == Error_Succeed) {
 			CAutoBuffer Buf = SpObject2Buffer<TAns>(Ans);
@@ -227,6 +228,7 @@ struct SpReqAnsContext
 
 	virtual ErrorCodeEnum Answer(ErrorCodeEnum eSysError, DWORD dwUserError)
 	{
+		EntityResource::clearLink();
 		if (eSysError == Error_Succeed) {
 			CAutoBuffer Buf = SpObject2Buffer<TAns>(Ans);
 			return m_spTransactionContext->SendAnswer(Buf, true);
@@ -237,6 +239,7 @@ struct SpReqAnsContext
 
 	virtual ErrorCodeEnum Answer(ErrorCodeEnum eSysError, DWORD dwUserError, CSimpleString str)
 	{
+		EntityResource::clearLink();
 		if (eSysError == Error_Succeed) {
 			CAutoBuffer Buf = SpObject2Buffer<TAns>(Ans);
 			return m_spTransactionContext->SendAnswer(Buf, true);

+ 7 - 1
Framework/spbase/sp_logwithlink.cpp

@@ -28,7 +28,7 @@
 
 void* g_logProducer = NULL;//为spshell、spbase共用,所以不放入getEntityResource中
 //#define MAX_LOG_LEN 9700 //大致为10 * 1024 - 400(固定头)
-#define MAX_LOG_LEN 2000
+#define MAX_LOG_LEN 1900
 
 #define MAX_ENTITY_SAVE_LEN 100
 
@@ -285,6 +285,12 @@ DbgToBeidou& DbgToBeidou::withLogProducer(void* t_logProducer) {
 
 DbgWithLink::DbgWithLink(LOG_LEVEL_E t_level, LOG_TYPE_E t_type) : m_priPtr(new Link_private(t_level, t_type))
 {
+    auto curLink = EntityResource::getLink();
+    if (curLink.traceId.GetLength() > 0 && curLink.bussinessId.GetLength() > 0)
+    {
+        m_priPtr->TraceID = curLink.traceId;
+        m_priPtr->BussID = curLink.bussinessId;
+    }
 }
 
 DbgWithLink::~DbgWithLink() {