Skip to content

Commit 3b3caaf

Browse files
committed
update-log
1 parent e9725bd commit 3b3caaf

File tree

1 file changed

+70
-38
lines changed

1 file changed

+70
-38
lines changed

services/config_generator.go

Lines changed: 70 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,17 @@ type TraefikConfig struct {
4949
} `yaml:"udp,omitempty"`
5050
}
5151

52+
// Add this simple helper function at the top of config_generator.go
53+
func shouldLog() bool {
54+
logLevel := strings.ToLower(os.Getenv("LOG_LEVEL"))
55+
return logLevel == "debug" || logLevel == "" // Only log in debug mode or if not set
56+
}
57+
58+
func shouldLogInfo() bool {
59+
logLevel := strings.ToLower(os.Getenv("LOG_LEVEL"))
60+
return logLevel == "debug" || logLevel == "info" || logLevel == ""
61+
}
62+
5263
// NewConfigGenerator creates a new config generator
5364
func NewConfigGenerator(db *database.DB, confDir string, configManager *ConfigManager) *ConfigGenerator {
5465
return &ConfigGenerator{
@@ -147,7 +158,9 @@ func (cg *ConfigGenerator) generateConfigWithRetry() error {
147158

148159
// generateConfig generates Traefik configuration files
149160
func (cg *ConfigGenerator) generateConfig() error {
150-
log.Println("Generating Traefik configuration...")
161+
if shouldLog() {
162+
log.Println("Generating Traefik configuration...")
163+
}
151164

152165
config := TraefikConfig{}
153166
config.HTTP.Middlewares = make(map[string]interface{})
@@ -184,36 +197,47 @@ func (cg *ConfigGenerator) generateConfig() error {
184197
return fmt.Errorf("failed to marshal YAML node: %w", err)
185198
}
186199

187-
if cg.hasConfigurationChanged(yamlData) {
188-
if err := cg.writeConfigToFile(yamlData); err != nil {
189-
return fmt.Errorf("failed to write config to file: %w", err)
190-
}
191-
log.Printf("Generated new Traefik configuration at %s", filepath.Join(cg.confDir, "resource-overrides.yml"))
192-
} else {
193-
log.Println("Configuration unchanged, skipping file write")
194-
}
200+
if cg.hasConfigurationChanged(yamlData) {
201+
if err := cg.writeConfigToFile(yamlData); err != nil {
202+
return fmt.Errorf("failed to write config to file: %w", err)
203+
}
204+
// Keep this - user wants to know when config actually changes
205+
log.Printf("Generated new Traefik configuration at %s", filepath.Join(cg.confDir, "resource-overrides.yml"))
206+
} else {
207+
// REPLACE: log.Println("Configuration unchanged, skipping file write")
208+
if shouldLog() {
209+
log.Println("Configuration unchanged, skipping file write")
210+
}
211+
}
195212

196-
return nil
213+
return nil
197214
}
198215

216+
199217
func (cg *ConfigGenerator) processMiddlewares(config *TraefikConfig) error {
200218
rows, err := cg.db.Query("SELECT id, name, type, config FROM middlewares")
201219
if err != nil {
202220
return fmt.Errorf("failed to fetch middlewares: %w", err)
203221
}
204222
defer rows.Close()
205223

206-
for rows.Next() {
207-
var id, name, typ, configStr string
208-
if err := rows.Scan(&id, &name, &typ, &configStr); err != nil {
209-
log.Printf("Failed to scan middleware: %v", err)
210-
continue
211-
}
212-
var middlewareConfig map[string]interface{}
213-
if err := json.Unmarshal([]byte(configStr), &middlewareConfig); err != nil {
214-
log.Printf("Failed to parse middleware config for %s: %v", name, err)
215-
continue
216-
}
224+
for rows.Next() {
225+
var id, name, typ, configStr string
226+
if err := rows.Scan(&id, &name, &typ, &configStr); err != nil {
227+
// REPLACE: log.Printf("Failed to scan middleware: %v", err)
228+
if shouldLog() {
229+
log.Printf("Failed to scan middleware: %v", err)
230+
}
231+
continue
232+
}
233+
var middlewareConfig map[string]interface{}
234+
if err := json.Unmarshal([]byte(configStr), &middlewareConfig); err != nil {
235+
// REPLACE: log.Printf("Failed to parse middleware config for %s: %v", name, err)
236+
if shouldLog() {
237+
log.Printf("Failed to parse middleware config for %s: %v", name, err)
238+
}
239+
continue
240+
}
217241

218242
// Use the centralized processing logic from models package
219243
middlewareConfig = models.ProcessMiddlewareConfig(typ, middlewareConfig)
@@ -226,23 +250,29 @@ func (cg *ConfigGenerator) processMiddlewares(config *TraefikConfig) error {
226250
}
227251

228252
func (cg *ConfigGenerator) processServices(config *TraefikConfig) error {
229-
rows, err := cg.db.Query("SELECT id, name, type, config FROM services")
230-
if err != nil {
231-
return fmt.Errorf("failed to fetch services: %w", err)
232-
}
233-
defer rows.Close()
253+
rows, err := cg.db.Query("SELECT id, name, type, config FROM services")
254+
if err != nil {
255+
return fmt.Errorf("failed to fetch services: %w", err)
256+
}
257+
defer rows.Close()
234258

235-
for rows.Next() {
236-
var id, name, typ, configStr string
237-
if err := rows.Scan(&id, &name, &typ, &configStr); err != nil {
238-
log.Printf("Failed to scan service row: %v", err)
239-
continue
240-
}
241-
var serviceConfig map[string]interface{}
242-
if err := json.Unmarshal([]byte(configStr), &serviceConfig); err != nil {
243-
log.Printf("Failed to parse service config for %s: %v", name, err)
244-
continue
245-
}
259+
for rows.Next() {
260+
var id, name, typ, configStr string
261+
if err := rows.Scan(&id, &name, &typ, &configStr); err != nil {
262+
// REPLACE: log.Printf("Failed to scan service row: %v", err)
263+
if shouldLog() {
264+
log.Printf("Failed to scan service row: %v", err)
265+
}
266+
continue
267+
}
268+
var serviceConfig map[string]interface{}
269+
if err := json.Unmarshal([]byte(configStr), &serviceConfig); err != nil {
270+
// REPLACE: log.Printf("Failed to parse service config for %s: %v", name, err)
271+
if shouldLog() {
272+
log.Printf("Failed to parse service config for %s: %v", name, err)
273+
}
274+
continue
275+
}
246276

247277
// Use the centralized processing logic from models package
248278
serviceConfig = models.ProcessServiceConfig(typ, serviceConfig)
@@ -278,7 +308,9 @@ func extractBaseName(id string) string {
278308
func (cg *ConfigGenerator) processResourcesWithServices(config *TraefikConfig) error {
279309
activeDSConfig, err := cg.configManager.GetActiveDataSourceConfig()
280310
if err != nil {
281-
log.Printf("Warning: Could not get active data source config in ConfigGenerator: %v. Defaulting to Pangolin logic.", err)
311+
if shouldLog() {
312+
log.Printf("Warning: Could not get active data source config in ConfigGenerator: %v. Defaulting to Pangolin logic.", err)
313+
}
282314
activeDSConfig.Type = models.PangolinAPI
283315
}
284316

0 commit comments

Comments
 (0)