hashicorp/terraform · error

logger name required

Error message

logger name required

What it means

Panics in NewLogger (logging.go:119). It creates a named child logger and requires a non-empty name; an empty name panics by design to avoid ambiguous/anonymous loggers.

Source

Thrown at internal/logging/logging.go:119

		} else {
			logOutput = f
		}
	}

	return hclog.NewInterceptLogger(&hclog.LoggerOptions{
		Name:              name,
		Level:             logLevel,
		Output:            logOutput,
		IndependentLevels: true,
		JSONFormat:        json,
	})
}

// NewLogger returns a new logger based in the current global logger, with the
// given name appended.
func NewLogger(name string) hclog.Logger {
	if name == "" {
		panic("logger name required")
	}
	return &logPanicWrapper{
		Logger: logger.Named(name),
	}
}

// NewProviderLogger returns a logger for the provider plugin, possibly with a
// different log level from the global logger.
func NewProviderLogger(prefix string) hclog.Logger {
	l := &logPanicWrapper{
		Logger: logger.Named(prefix + "provider"),
	}

	level := providerLogLevel()
	logger.Debug("created provider logger", "level", level)

	l.SetLevel(level)
	return l

View on GitHub (pinned to c9def3e214)

Solutions

  1. Pass a non-empty, descriptive name to NewLogger.
  2. Guard the call site: if the name variable may be empty, supply a default before calling.

Example fix

// before
l := NewLogger("")
// after
l := NewLogger("myprovider")
Defensive patterns

Strategy: validation

Validate before calling

func newLoggerSafe(name string) hclog.Logger {
    if name == "" { name = "default" }
    return logging.NewLogger(name)
}

Prevention

When it happens

Trigger: Calling logging.NewLogger("") (empty string) when creating a named logger.

Common situations: Internal Terraform code passing an empty prefix variable, or custom integrations calling NewLogger with an unset name argument.

Related errors


AI-assisted analysis of hashicorp/terraform@c9def3e214 (2026-08-07). Data as JSON: /api/errors/4adb75eaf174699e. Report an issue: GitHub.