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 lView on GitHub (pinned to c9def3e214)
Solutions
- Pass a non-empty, descriptive name to NewLogger.
- 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
- Never call NewLogger with an empty string.
- Default the name variable at the call site.
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
- global logger is not an InterceptLogger
- found unrecognized resource mode:
- found unrecognized resource mode:
- unrecognized action slice:
- Workspace data missing from plan file. Current workspace is
AI-assisted analysis of hashicorp/terraform@c9def3e214 (2026-08-07).
Data as JSON: /api/errors/4adb75eaf174699e.
Report an issue: GitHub.