99 "time"
1010
1111 "github.com/google/uuid"
12+ "github.com/threatwinds/go-sdk/catcher"
1213 "github.com/utmstack/UTMStack/agent-manager/models"
1314 "github.com/utmstack/UTMStack/agent-manager/util"
1415 "google.golang.org/grpc/codes"
@@ -39,7 +40,7 @@ func (s *Grpc) RegisterAgent(ctx context.Context, req *AgentRequest) (*AuthRespo
3940 Key : oldAgent .AgentKey ,
4041 }, nil
4142 } else {
42- util . Logger . ErrorF ("Agent with hostname %s already exists" , agent .Hostname )
43+ catcher . Error ("Agent already exists" , nil , map [ string ] any { "host_name" : agent .Hostname } )
4344 return nil , status .Errorf (codes .AlreadyExists , "hostname has already been registered" )
4445 }
4546 }
@@ -48,7 +49,7 @@ func (s *Grpc) RegisterAgent(ctx context.Context, req *AgentRequest) (*AuthRespo
4849 agent .AgentKey = key
4950 err = agentService .Create (agent )
5051 if err != nil {
51- util . Logger . ErrorF ("Failed to create agent: %v " , err )
52+ catcher . Error ("Failed to create agent" , err , nil )
5253 return nil , err
5354 }
5455
@@ -58,15 +59,15 @@ func (s *Grpc) RegisterAgent(ctx context.Context, req *AgentRequest) (*AuthRespo
5859
5960 err = lastSeenService .Set (key , time .Now ())
6061 if err != nil {
61- util . Logger . ErrorF ("Failed to set last seen: %v " , err )
62+ catcher . Error ("Failed to set last seen" , err , nil )
6263 return nil , err
6364 }
6465 res := & AuthResponse {
6566 Id : uint32 (agent .ID ),
6667 Key : key ,
6768 }
6869
69- util . Logger . Info ("Agent %s with id %d registered correctly" , agent .Hostname , agent .ID )
70+ catcher . Info ("Agent was registered correctly" , map [ string ] any { "hostname" : agent .Hostname , "id" : agent .ID } )
7071 return res , nil
7172}
7273
@@ -88,7 +89,7 @@ func (s *Grpc) UpdateAgent(ctx context.Context, req *AgentRequest) (*AuthRespons
8889
8990 agent , err := agentService .FindByID (uint (id ))
9091 if err != nil {
91- util . Logger . ErrorF ("Failed to find agent: %v " , err )
92+ catcher . Error ("Failed to find agent" , err , nil )
9293 return nil , err
9394 }
9495
@@ -119,7 +120,7 @@ func (s *Grpc) UpdateAgent(ctx context.Context, req *AgentRequest) (*AuthRespons
119120
120121 err = agentService .Update (agent )
121122 if err != nil {
122- util . Logger . ErrorF ("Failed to update agent: %v " , err )
123+ catcher . Error ("Failed to update agent" , err , nil )
123124 return nil , err
124125 }
125126
@@ -128,7 +129,7 @@ func (s *Grpc) UpdateAgent(ctx context.Context, req *AgentRequest) (*AuthRespons
128129 Key : agent .AgentKey ,
129130 }
130131
131- util . Logger . Info ("Agent %s with id %d updated correctly" , agent .Hostname , agent .ID )
132+ catcher . Info ("Agent was updated correctly" , map [ string ] any { "hostname" : agent .Hostname , "id" : agent .ID } )
132133 return res , nil
133134}
134135
@@ -146,7 +147,7 @@ func (s *Grpc) DeleteAgent(ctx context.Context, req *AgentDelete) (*AuthResponse
146147
147148 id , err := agentService .Delete (uuid .MustParse (key ), req .DeletedBy )
148149 if err != nil {
149- util . Logger . ErrorF ("Unable to delete agent: %v " , err )
150+ catcher . Error ("Unable to delete agent" , err , nil )
150151 return & AuthResponse {}, status .Error (codes .Internal , fmt .Sprintf ("unable to delete agent: %v" , err .Error ()))
151152 }
152153
@@ -158,7 +159,7 @@ func (s *Grpc) DeleteAgent(ctx context.Context, req *AgentDelete) (*AuthResponse
158159 delete (s .AgentStreamMap , key )
159160 s .agentStreamMutex .Unlock ()
160161
161- util . Logger . Info ("Agent with key %s deleted by %s " , key , req .DeletedBy )
162+ catcher . Info ("Agent was deleted" , map [ string ] any { " key" : key , "deleted_by" : req .DeletedBy } )
162163
163164 return & AuthResponse {
164165 Id : uint32 (id ),
@@ -173,7 +174,7 @@ func (s *Grpc) ListAgents(ctx context.Context, req *ListRequest) (*ListAgentsRes
173174
174175 agents , total , err := agentService .ListAgents (page , filter )
175176 if err != nil {
176- util . Logger . ErrorF ("failed to fetch agents: %v " , err )
177+ catcher . Error ("failed to fetch agents" , err , nil )
177178 return nil , status .Errorf (codes .Internal , "failed to fetch agents: %v" , err )
178179 }
179180 return convertToAgentResponse (agents , total )
@@ -202,7 +203,7 @@ func (s *Grpc) AgentStream(stream AgentService_AgentStreamServer) error {
202203 delete (s .AgentStreamMap , agentKey )
203204 s .agentStreamMutex .Unlock ()
204205
205- util . Logger . ErrorF ("failed to reconnect to client: %v " , err )
206+ catcher . Error ("failed to reconnect to client" , err , nil )
206207 return fmt .Errorf ("failed to reconnect to client: %v" , err )
207208 }
208209
@@ -226,10 +227,10 @@ func (s *Grpc) AgentStream(stream AgentService_AgentStreamServer) error {
226227
227228 switch msg := in .StreamMessage .(type ) {
228229 case * BidirectionalStream_Command :
229- util . Logger . Info ("Received command: %s " , msg .Command .CmdId )
230+ catcher . Info ("Received command" , map [ string ] any { "cmd_id" : msg .Command .CmdId } )
230231
231232 case * BidirectionalStream_Result :
232- util . Logger . Info ("Received command result: %s " , msg .Result .CmdId )
233+ catcher . Info ("Received command result" , map [ string ] any { "cmd_id" : msg .Result .CmdId } )
233234
234235 cmdID := msg .Result .GetCmdId ()
235236
@@ -244,7 +245,7 @@ func (s *Grpc) AgentStream(stream AgentService_AgentStreamServer) error {
244245 },
245246 },
246247 }); err != nil {
247- util . Logger . ErrorF ("Failed to send result to server: %v " , err )
248+ catcher . Error ("Failed to send result to server" , err , nil )
248249 }
249250 s .resultChannelM .Lock ()
250251 if resultChan , ok := s .ResultChannel [cmdID ]; ok {
@@ -256,7 +257,7 @@ func (s *Grpc) AgentStream(stream AgentService_AgentStreamServer) error {
256257 }
257258
258259 } else {
259- util . Logger . ErrorF ("Failed to find result channel for CmdID: %s " , cmdID )
260+ catcher . Error ("Failed to find result channel for CmdID" , nil , map [ string ] any { "cmd_id" : cmdID } )
260261 }
261262 s .resultChannelM .Unlock ()
262263 }
@@ -346,25 +347,25 @@ func (s *Grpc) ProcessCommand(stream PanelService_ProcessCommandServer) error {
346347
347348func (s * Grpc ) UpdateAgentGroup (ctx context.Context , req * AgentGroupUpdate ) (* Agent , error ) {
348349 if req .AgentId == 0 || req .AgentGroup == 0 {
349- util . Logger . ErrorF ("Error in req" )
350+ catcher . Error ("Error in req" , nil , nil )
350351 return nil , status .Errorf (codes .FailedPrecondition , "error in req" )
351352 }
352353 agent , err := agentService .UpdateAgentGroup (uint (req .AgentId ), uint (req .AgentGroup ))
353354 if err != nil {
354- util . Logger . ErrorF ("Unable to update group: %v " , err )
355+ catcher . Error ("Unable to update group" , err , nil )
355356 return nil , status .Errorf (codes .Internal , "unable to update group: %v" , err )
356357 }
357358 return parseAgentToProto (agent ), nil
358359}
359360
360361func (s * Grpc ) GetAgentByHostname (ctx context.Context , req * Hostname ) (* Agent , error ) {
361362 if req .Hostname == "" {
362- util . Logger . ErrorF ("Error in req" )
363+ catcher . Error ("Error in req" , nil , nil )
363364 return nil , status .Errorf (codes .FailedPrecondition , "error in req" )
364365 }
365366 agent , err := agentService .FindByHostname (req .Hostname )
366367 if err != nil {
367- util . Logger . ErrorF ("Unable to find agent with hostname: %v " , err )
368+ catcher . Error ("Unable to find agent with hostname" , err , nil )
368369 return nil , status .Errorf (codes .NotFound , "unable to find agent with hostname: %v" , err )
369370 }
370371 return parseAgentToProto (* agent ), nil
@@ -376,7 +377,7 @@ func (s *Grpc) UpdateAgentType(ctx context.Context, req *AgentTypeUpdate) (*Agen
376377 }
377378 agent , err := agentService .UpdateAgentType (uint (req .AgentId ), uint (req .AgentType ))
378379 if err != nil {
379- util . Logger . ErrorF ("Unable to update type: %v " , err )
380+ catcher . Error ("Unable to update type" , err , nil )
380381 return nil , status .Errorf (codes .Internal , "unable to update type: %v" , err )
381382 }
382383 return parseAgentToProto (agent ), nil
@@ -387,7 +388,7 @@ func (s *Grpc) LoadAgentCacheFromDatabase() error {
387388 // Fill the agentCache map with agentID and agentToken pairs
388389 agents , err := agentService .FindAll ()
389390 if err != nil {
390- util . Logger . ErrorF ("Failed to fetch agents from database: %v " , err )
391+ catcher . Error ("Failed to fetch agents from database" , err , nil )
391392 return err
392393 }
393394 for _ , agent := range agents {
@@ -403,7 +404,7 @@ func (s *Grpc) ListAgentsWithCommands(ctx context.Context, req *ListRequest) (*L
403404
404405 agents , total , err := agentService .ListAgentWithCommands (page , filter )
405406 if err != nil {
406- util . Logger . ErrorF ("failed to fetch agents: %v " , err )
407+ catcher . Error ("failed to fetch agents" , err , nil )
407408 return nil , status .Errorf (codes .Internal , "failed to fetch agents: %v" , err )
408409 }
409410
@@ -459,14 +460,14 @@ func createHistoryCommand(cmd *UtmCommand, cmdID string) {
459460 }
460461 err := agentCommandService .Create (cmdHistory )
461462 if err != nil {
462- util . Logger . ErrorF ("Unable to create a new command history" )
463+ catcher . Error ("Unable to create a new command history" , err , nil )
463464 }
464465}
465466
466467func updateHistoryCommand (cmdResult * CommandResult , cmdID string ) {
467468 err := agentCommandService .UpdateCommandStatusAndResult (findAgentIdByKey (CacheAgent , cmdResult .AgentKey ), cmdID , models .Executed , cmdResult .Result )
468469 if err != nil {
469- util . Logger . ErrorF ("Failed to update command status" )
470+ catcher . Error ("Failed to update command status" , nil , nil )
470471 }
471472}
472473
0 commit comments