refactor: migrate all log statements to structured logger calls for improved observability

This commit is contained in:
2026-08-15 00:15:27 -07:00
parent 86a092ecd3
commit 150e3dfbd5
6 changed files with 43 additions and 31 deletions
+18 -6
View File
@@ -94,7 +94,7 @@ func (s *Server) handleIndex(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/html; charset=utf-8")
if err := RenderPage(w, data); err != nil {
logger.Log.Errorf("[UI] RenderPage error: %v", err)
logger.Log.Errorw("RenderPage error", "component", "UI", "error", err)
}
}
@@ -124,6 +124,8 @@ func (s *Server) handleCreateTarget(w http.ResponseWriter, r *http.Request) {
return
}
logger.Log.Infow("Triggered /targets (Create)", "component", "API", "name", name, "platform", platform)
_, err := s.db.CreateTarget(name, targetURL, platform)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -141,6 +143,8 @@ func (s *Server) handleToggleTarget(w http.ResponseWriter, r *http.Request) {
return
}
logger.Log.Infow("Triggered /targets/{id}/toggle", "component", "API", "target_id", id)
if err := s.db.ToggleTargetStatus(id); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
@@ -186,6 +190,8 @@ func (s *Server) handleAnalyzeJob(w http.ResponseWriter, r *http.Request) {
return
}
logger.Log.Infow("Triggered /jobs/{id}/analyze", "component", "API", "job_id", id)
// Enqueue analyze task instead of synchronous processing
payload := worker.AnalyzePayload{RawJobID: int64(id)}
err = s.db.EnqueueTask("ANALYZE", payload)
@@ -206,6 +212,8 @@ func (s *Server) handleOptOut(w http.ResponseWriter, r *http.Request) {
return
}
logger.Log.Infow("Triggered /jobs/{id}/opt-out", "component", "API", "job_id", id)
_, err = s.db.CreateOrUpdateApplication(id, "OPTED_OUT", "")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -249,6 +257,8 @@ func (s *Server) handleCreateApplication(w http.ResponseWriter, r *http.Request)
return
}
logger.Log.Infow("Triggered /applications (Create)", "component", "API", "raw_job_id", rawJobID, "status", status)
_, err = s.db.CreateOrUpdateApplication(rawJobID, status, "")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -278,6 +288,8 @@ func (s *Server) handleUpdateAppStatus(w http.ResponseWriter, r *http.Request) {
return
}
logger.Log.Infow("Triggered /applications/{id}/status (Update)", "component", "API", "app_id", appID, "new_status", newStatus)
// Fetch rawJobID for appID
apps, err := s.db.GetApplications()
if err != nil {
@@ -310,7 +322,7 @@ func (s *Server) handleUpdateAppStatus(w http.ResponseWriter, r *http.Request) {
}
func (s *Server) handleDiscoverTasks(w http.ResponseWriter, r *http.Request) {
logger.Log.Info("[API] Triggered /api/tasks/discover")
logger.Log.Infow("Triggered /api/tasks/discover", "component", "API")
targets, err := s.db.GetAllTargets()
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -337,7 +349,7 @@ func (s *Server) handleDiscoverTasks(w http.ResponseWriter, r *http.Request) {
}
func (s *Server) handleCleanTasks(w http.ResponseWriter, r *http.Request) {
logger.Log.Info("[API] Triggered /api/tasks/clean")
logger.Log.Infow("Triggered /api/tasks/clean", "component", "API")
err := s.db.ClearTaskQueue()
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
@@ -348,9 +360,9 @@ func (s *Server) handleCleanTasks(w http.ResponseWriter, r *http.Request) {
}
func (s *Server) handleReprocessJobs(w http.ResponseWriter, r *http.Request) {
logger.Log.Info("[API] Triggered /api/tasks/reprocess")
logger.Log.Infow("Triggered /api/tasks/reprocess", "component", "API")
if err := s.db.ReprocessAllJobs(); err != nil {
logger.Log.Errorf("[API] Failed to reprocess jobs: %v", err)
logger.Log.Errorw("Failed to reprocess jobs", "component", "API", "error", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
@@ -359,7 +371,7 @@ func (s *Server) handleReprocessJobs(w http.ResponseWriter, r *http.Request) {
}
func (s *Server) handleToggleTasks(w http.ResponseWriter, r *http.Request) {
logger.Log.Info("[API] Triggered /api/tasks/toggle")
logger.Log.Infow("Triggered /api/tasks/toggle", "component", "API")
isRunning := s.pool.Toggle()
status := "paused"
if isRunning {