func initLogger()

in src/local_gpu_verifier_http_service/cmd/local_gpu_verifier_http_service/main.go [110:135]


func initLogger(logPath string) {
	var level slog.Level
	if enableDebugLogging == "true" {
		level = slog.LevelDebug
	} else {
		level = slog.LevelInfo
	}

	// Create a console handler that writes to stderr
	consoleHandler := slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: level})
	logger = slog.New(consoleHandler)

	// If logPath is not empty, use lumberjack to rotate logs
	if logPath != "" {
		logWriter := &lumberjack.Logger{
			Filename: logPath,
			MaxSize:  50,   // megabytes
			MaxAge:   365,  // days to keep
			Compress: true, // compress the old logs
		}

		fileHandler := slog.NewTextHandler(logWriter, &slog.HandlerOptions{Level: level})
		multiHandler := slogmulti.Fanout(fileHandler, consoleHandler)
		logger = slog.New(multiHandler)
	}
}