fix: standardize log prefixes, remove duplicates, add missing module tags
Second-pass logging cleanup: consistent [LEVEL] [module] format across all 41 files. Remove stale prefixes ([CF], [SYNC], [SCHED], [API], [STORAGE], [HEALTH], [ROLLBACK]). Remove 5 duplicate log lines. Gate ungated DEBUG lines. Fix wrong log levels (restore start WARN→INFO). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -77,22 +77,22 @@ func maskRepoURL(url string) string {
|
||||
// Start begins the periodic sync loop. Call Stop() to terminate.
|
||||
func (s *Syncer) Start() {
|
||||
if s.cfg.Git.RepoURL == "" {
|
||||
s.logger.Println("[SYNC] Git repo URL is empty — sync disabled (manual mode)")
|
||||
s.logger.Println("[WARN] [sync] Git repo URL is empty — sync disabled (manual mode)")
|
||||
return
|
||||
}
|
||||
|
||||
interval, err := time.ParseDuration(s.cfg.Git.SyncInterval)
|
||||
if err != nil {
|
||||
s.logger.Printf("[SYNC] Invalid sync_interval %q, defaulting to 15m", s.cfg.Git.SyncInterval)
|
||||
s.logger.Printf("[WARN] [sync] Invalid sync_interval %q, defaulting to 15m", s.cfg.Git.SyncInterval)
|
||||
interval = 15 * time.Minute
|
||||
}
|
||||
|
||||
s.logger.Printf("[SYNC] Starting catalog sync (repo: %s, interval: %s)", s.cfg.Git.RepoURL, interval)
|
||||
s.logger.Printf("[INFO] [sync] Starting catalog sync (repo: %s, interval: %s)", s.cfg.Git.RepoURL, interval)
|
||||
|
||||
// Initial sync on startup
|
||||
go func() {
|
||||
result := s.doSync()
|
||||
s.logger.Printf("[SYNC] Initial sync: %s", result.Message)
|
||||
s.logger.Printf("[INFO] [sync] Initial sync: %s", result.Message)
|
||||
}()
|
||||
|
||||
go func() {
|
||||
@@ -101,11 +101,11 @@ func (s *Syncer) Start() {
|
||||
for {
|
||||
select {
|
||||
case <-s.stopCh:
|
||||
s.logger.Println("[SYNC] Sync loop stopped")
|
||||
s.logger.Println("[INFO] [sync] Sync loop stopped")
|
||||
return
|
||||
case <-ticker.C:
|
||||
result := s.doSync()
|
||||
s.logger.Printf("[SYNC] Periodic sync: %s", result.Message)
|
||||
s.logger.Printf("[INFO] [sync] Periodic sync: %s", result.Message)
|
||||
}
|
||||
}
|
||||
}()
|
||||
@@ -207,14 +207,14 @@ func (s *Syncer) doSync() SyncResult {
|
||||
// Step 3: Trigger rescan if anything changed
|
||||
if len(newApps) > 0 || len(updated) > 0 {
|
||||
if err := s.rescanFn(); err != nil {
|
||||
s.logger.Printf("[SYNC] Rescan after sync failed: %v", err)
|
||||
s.logger.Printf("[WARN] [sync] Rescan after sync failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Step 4: Inject missing deploy fields for updated stacks
|
||||
if len(updated) > 0 && s.postSyncHook != nil {
|
||||
if s.isDebug() {
|
||||
s.logger.Printf("[DEBUG] [SYNC] Post-sync hook: triggering missing field injection for %d stack(s): %v", len(updated), updated)
|
||||
s.logger.Printf("[DEBUG] [sync] Post-sync hook: triggering missing field injection for %d stack(s): %v", len(updated), updated)
|
||||
}
|
||||
s.postSyncHook(updated)
|
||||
}
|
||||
@@ -252,12 +252,12 @@ func (s *Syncer) gitCloneOrPull() error {
|
||||
gitDir := filepath.Join(s.cacheDir, ".git")
|
||||
if _, err := os.Stat(gitDir); os.IsNotExist(err) {
|
||||
// Clone
|
||||
s.logger.Printf("[SYNC] Cloning %s → %s", s.cfg.Git.RepoURL, s.cacheDir)
|
||||
s.logger.Printf("[INFO] [sync] Cloning %s → %s", s.cfg.Git.RepoURL, s.cacheDir)
|
||||
args := []string{"clone", "--depth", "1", "--branch", s.cfg.Git.Branch}
|
||||
repoURL := s.buildRepoURL()
|
||||
args = append(args, repoURL, s.cacheDir)
|
||||
if s.isDebug() {
|
||||
s.logger.Printf("[DEBUG] [SYNC] git clone URL: %s, branch: %s, cacheDir: %s", maskRepoURL(repoURL), s.cfg.Git.Branch, s.cacheDir)
|
||||
s.logger.Printf("[DEBUG] [sync] git clone URL: %s, branch: %s, cacheDir: %s", maskRepoURL(repoURL), s.cfg.Git.Branch, s.cacheDir)
|
||||
}
|
||||
return s.runGit(args...)
|
||||
}
|
||||
@@ -266,9 +266,9 @@ func (s *Syncer) gitCloneOrPull() error {
|
||||
s.removeGitLockFiles()
|
||||
|
||||
// Pull
|
||||
s.logger.Printf("[SYNC] Pulling latest from %s (branch: %s)", s.cfg.Git.RepoURL, s.cfg.Git.Branch)
|
||||
s.logger.Printf("[INFO] [sync] Pulling latest from %s (branch: %s)", s.cfg.Git.RepoURL, s.cfg.Git.Branch)
|
||||
if s.isDebug() {
|
||||
s.logger.Printf("[DEBUG] [SYNC] git fetch --depth 1 origin %s in %s", s.cfg.Git.Branch, s.cacheDir)
|
||||
s.logger.Printf("[DEBUG] [sync] git fetch --depth 1 origin %s in %s", s.cfg.Git.Branch, s.cacheDir)
|
||||
}
|
||||
if err := s.runGitInDir(s.cacheDir, "fetch", "--depth", "1", "origin", s.cfg.Git.Branch); err != nil {
|
||||
return fmt.Errorf("git fetch: %w", err)
|
||||
@@ -288,9 +288,9 @@ func (s *Syncer) removeGitLockFiles() {
|
||||
for _, name := range lockFiles {
|
||||
lockPath := filepath.Join(gitDir, name)
|
||||
if _, err := os.Stat(lockPath); err == nil {
|
||||
s.logger.Printf("[SYNC] Removing stale lock file: %s", lockPath)
|
||||
s.logger.Printf("[WARN] [sync] Removing stale lock file: %s", lockPath)
|
||||
if err := os.Remove(lockPath); err != nil {
|
||||
s.logger.Printf("[SYNC] Failed to remove lock file %s: %v", lockPath, err)
|
||||
s.logger.Printf("[WARN] [sync] Failed to remove lock file %s: %v", lockPath, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -328,7 +328,7 @@ func (s *Syncer) copyTemplates() (newApps []string, updated []string, err error)
|
||||
if _, err := os.Stat(dstDir); os.IsNotExist(err) {
|
||||
isNew = true
|
||||
if err := os.MkdirAll(dstDir, 0755); err != nil {
|
||||
s.logger.Printf("[SYNC] Failed to create stack dir %s: %v", dstDir, err)
|
||||
s.logger.Printf("[WARN] [sync] Failed to create stack dir %s: %v", dstDir, err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
@@ -343,7 +343,7 @@ func (s *Syncer) copyTemplates() (newApps []string, updated []string, err error)
|
||||
|
||||
if _, err := os.Stat(src); os.IsNotExist(err) {
|
||||
if s.isDebug() {
|
||||
s.logger.Printf("[DEBUG] [SYNC] %s/%s: source not found, skipping", appName, filename)
|
||||
s.logger.Printf("[DEBUG] [sync] %s/%s: source not found, skipping", appName, filename)
|
||||
}
|
||||
continue
|
||||
}
|
||||
@@ -355,12 +355,12 @@ func (s *Syncer) copyTemplates() (newApps []string, updated []string, err error)
|
||||
}
|
||||
if changed {
|
||||
anyChanged = true
|
||||
s.logger.Printf("[SYNC] Updated %s/%s", appName, filename)
|
||||
s.logger.Printf("[INFO] [sync] Updated %s/%s", appName, filename)
|
||||
if s.isDebug() {
|
||||
s.logFileHashes(appName, filename, src, dst)
|
||||
}
|
||||
} else if s.isDebug() {
|
||||
s.logger.Printf("[DEBUG] [SYNC] %s/%s: hash match, skipped", appName, filename)
|
||||
s.logger.Printf("[DEBUG] [sync] %s/%s: hash match, skipped", appName, filename)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -383,11 +383,11 @@ func (s *Syncer) logFileHashes(appName, filename, src, dst string) {
|
||||
srcHash := sha256.Sum256(srcData)
|
||||
dstData, err := os.ReadFile(dst)
|
||||
if err != nil {
|
||||
s.logger.Printf("[DEBUG] [SYNC] %s/%s: src=%s, dst=new file", appName, filename, hex.EncodeToString(srcHash[:8]))
|
||||
s.logger.Printf("[DEBUG] [sync] %s/%s: src=%s, dst=new file", appName, filename, hex.EncodeToString(srcHash[:8]))
|
||||
return
|
||||
}
|
||||
dstHash := sha256.Sum256(dstData)
|
||||
s.logger.Printf("[DEBUG] [SYNC] %s/%s: src=%s, dst=%s (changed)", appName, filename, hex.EncodeToString(srcHash[:8]), hex.EncodeToString(dstHash[:8]))
|
||||
s.logger.Printf("[DEBUG] [sync] %s/%s: src=%s, dst=%s (changed)", appName, filename, hex.EncodeToString(srcHash[:8]), hex.EncodeToString(dstHash[:8]))
|
||||
}
|
||||
|
||||
// copyIfChanged copies src to dst only if the content differs.
|
||||
@@ -430,7 +430,7 @@ func (s *Syncer) runGitInDir(dir string, args ...string) error {
|
||||
cmd.Stdout = io.Discard
|
||||
cmd.Stderr = &stderr
|
||||
|
||||
s.logger.Printf("[SYNC] Running: git %s", maskRepoURL(strings.Join(args, " ")))
|
||||
s.logger.Printf("[DEBUG] [sync] Running: git %s", maskRepoURL(strings.Join(args, " ")))
|
||||
|
||||
if err := cmd.Run(); err != nil {
|
||||
return fmt.Errorf("git %s: %w\nstderr: %s", strings.Join(args, " "), err, stderr.String())
|
||||
|
||||
Reference in New Issue
Block a user