@@ -2,6 +2,7 @@ package logger
22
33import (
44 "fmt"
5+ "maps"
56 "os"
67 "sync"
78
@@ -16,15 +17,17 @@ import (
1617type CNSLogger struct {
1718 logger * log.Logger
1819 th aitelemetry.TelemetryHandle
19- DisableTraceLogging bool
20- DisableMetricLogging bool
21- DisableEventLogging bool
20+ disableTraceLogging bool
21+ disableMetricLogging bool
22+ disableEventLogging bool
2223
2324 zapLogger * zap.Logger
2425
25- m sync.RWMutex
26- Orchestrator string
27- NodeID string
26+ m sync.RWMutex
27+ metadata map [string ]string
28+ // orchestrator string
29+ // nodeID string
30+ // apiserver string
2831}
2932
3033func NewCNSLogger (fileName string , logLevel , logTarget int , logDir string ) (* CNSLogger , error ) {
@@ -59,12 +62,11 @@ func (c *CNSLogger) InitAIWithIKey(aiConfig aitelemetry.AIConfig, instrumentatio
5962 c .logger .Errorf ("Error initializing AI Telemetry:%v" , err )
6063 return
6164 }
62-
6365 c .th = th
6466 c .logger .Printf ("AI Telemetry Handle created" )
65- c .DisableMetricLogging = disableMetricLogging
66- c .DisableTraceLogging = disableTraceLogging
67- c .DisableEventLogging = disableEventLogging
67+ c .disableMetricLogging = disableMetricLogging
68+ c .disableTraceLogging = disableTraceLogging
69+ c .disableEventLogging = disableEventLogging
6870}
6971
7072// wait time for closing AI telemetry session.
@@ -80,83 +82,76 @@ func (c *CNSLogger) Close() {
8082func (c * CNSLogger ) SetContextDetails (orchestrator , nodeID string ) {
8183 c .logger .Logf ("SetContext details called with: %v orchestrator nodeID %v" , orchestrator , nodeID )
8284 c .m .Lock ()
83- c .Orchestrator = orchestrator
84- c .NodeID = nodeID
85+ c .metadata [orchestratorTypeKey ] = orchestrator
86+ c .metadata [nodeIDKey ] = nodeID
87+ c .m .Unlock ()
88+ }
89+
90+ func (c * CNSLogger ) SetAPIServer (apiserver string ) {
91+ c .m .Lock ()
92+ c .metadata [apiServerKey ] = apiserver
8593 c .m .Unlock ()
8694}
8795
8896func (c * CNSLogger ) Printf (format string , args ... any ) {
8997 c .logger .Logf (format , args ... )
9098 c .zapLogger .Info (fmt .Sprintf (format , args ... ))
91-
92- if c .th == nil || c .DisableTraceLogging {
99+ if c .th == nil || c .disableTraceLogging {
93100 return
94101 }
95-
96102 msg := fmt .Sprintf (format , args ... )
97103 c .sendTraceInternal (msg )
98104}
99105
100106func (c * CNSLogger ) Debugf (format string , args ... any ) {
101107 c .logger .Debugf (format , args ... )
102108 c .zapLogger .Debug (fmt .Sprintf (format , args ... ))
103-
104- if c .th == nil || c .DisableTraceLogging {
109+ if c .th == nil || c .disableTraceLogging {
105110 return
106111 }
107-
108112 msg := fmt .Sprintf (format , args ... )
109113 c .sendTraceInternal (msg )
110114}
111115
112116func (c * CNSLogger ) Warnf (format string , args ... any ) {
113117 c .logger .Warnf (format , args ... )
114118 c .zapLogger .Warn (fmt .Sprintf (format , args ... ))
115-
116- if c .th == nil || c .DisableTraceLogging {
119+ if c .th == nil || c .disableTraceLogging {
117120 return
118121 }
119-
120122 msg := fmt .Sprintf (format , args ... )
121123 c .sendTraceInternal (msg )
122124}
123125
124126func (c * CNSLogger ) Errorf (format string , args ... any ) {
125127 c .logger .Errorf (format , args ... )
126128 c .zapLogger .Error (fmt .Sprintf (format , args ... ))
127-
128- if c .th == nil || c .DisableTraceLogging {
129+ if c .th == nil || c .disableTraceLogging {
129130 return
130131 }
131-
132132 msg := fmt .Sprintf (format , args ... )
133133 c .sendTraceInternal (msg )
134134}
135135
136136func (c * CNSLogger ) Request (tag string , request any , err error ) {
137137 c .logger .Request (tag , request , err )
138-
139- if c .th == nil || c .DisableTraceLogging {
138+ if c .th == nil || c .disableTraceLogging {
140139 return
141140 }
142-
143141 var msg string
144142 if err == nil {
145143 msg = fmt .Sprintf ("[%s] Received %T %+v." , tag , request , request )
146144 } else {
147145 msg = fmt .Sprintf ("[%s] Failed to decode %T %+v %s." , tag , request , request , err .Error ())
148146 }
149-
150147 c .sendTraceInternal (msg )
151148}
152149
153150func (c * CNSLogger ) Response (tag string , response any , returnCode types.ResponseCode , err error ) {
154151 c .logger .Response (tag , response , int (returnCode ), returnCode .String (), err )
155-
156- if c .th == nil || c .DisableTraceLogging {
152+ if c .th == nil || c .disableTraceLogging {
157153 return
158154 }
159-
160155 var msg string
161156 switch {
162157 case err == nil && returnCode == 0 :
@@ -166,17 +161,14 @@ func (c *CNSLogger) Response(tag string, response any, returnCode types.Response
166161 default :
167162 msg = fmt .Sprintf ("[%s] Code:%s, %+v." , tag , returnCode .String (), response )
168163 }
169-
170164 c .sendTraceInternal (msg )
171165}
172166
173167func (c * CNSLogger ) ResponseEx (tag string , request , response any , returnCode types.ResponseCode , err error ) {
174168 c .logger .ResponseEx (tag , request , response , int (returnCode ), returnCode .String (), err )
175-
176- if c .th == nil || c .DisableTraceLogging {
169+ if c .th == nil || c .disableTraceLogging {
177170 return
178171 }
179-
180172 var msg string
181173 switch {
182174 case err == nil && returnCode == 0 :
@@ -186,50 +178,37 @@ func (c *CNSLogger) ResponseEx(tag string, request, response any, returnCode typ
186178 default :
187179 msg = fmt .Sprintf ("[%s] Code:%s, %+v, %+v." , tag , returnCode .String (), request , response )
188180 }
189-
190181 c .sendTraceInternal (msg )
191182}
192183
193- func (c * CNSLogger ) getOrchestratorAndNodeID () (orch , nodeID string ) {
194- c .m .RLock ()
195- orch , nodeID = c .Orchestrator , c .NodeID
196- c .m .RUnlock ()
197- return
198- }
199-
200184func (c * CNSLogger ) sendTraceInternal (msg string ) {
201- orch , nodeID := c .getOrchestratorAndNodeID ()
202-
203185 report := aitelemetry.Report {
204- Message : msg ,
205- Context : nodeID ,
206- CustomDimensions : map [string ]string {
207- OrchestratorTypeStr : orch ,
208- NodeIDStr : nodeID ,
209- },
186+ Message : msg ,
187+ Context : c .metadata [nodeIDKey ],
188+ CustomDimensions : map [string ]string {},
210189 }
211-
190+ c .m .RLock ()
191+ maps .Copy (report .CustomDimensions , c .metadata )
192+ c .m .RUnlock ()
212193 c .th .TrackLog (report )
213194}
214195
215196func (c * CNSLogger ) LogEvent (event aitelemetry.Event ) {
216- if c .th == nil || c .DisableEventLogging {
197+ if c .th == nil || c .disableEventLogging {
217198 return
218199 }
219-
220- orch , nodeID := c .getOrchestratorAndNodeID ()
221- event .Properties [OrchestratorTypeStr ] = orch
222- event .Properties [NodeIDStr ] = nodeID
200+ c .m .RLock ()
201+ maps .Copy (event .Properties , c .metadata )
202+ c .m .RUnlock ()
223203 c .th .TrackEvent (event )
224204}
225205
226206func (c * CNSLogger ) SendMetric (metric aitelemetry.Metric ) {
227- if c .th == nil || c .DisableMetricLogging {
207+ if c .th == nil || c .disableMetricLogging {
228208 return
229209 }
230-
231- orch , nodeID := c .getOrchestratorAndNodeID ()
232- metric .CustomDimensions [OrchestratorTypeStr ] = orch
233- metric .CustomDimensions [NodeIDStr ] = nodeID
210+ c .m .RLock ()
211+ maps .Copy (metric .CustomDimensions , c .metadata )
212+ c .m .RUnlock ()
234213 c .th .TrackMetric (metric )
235214}
0 commit comments