ipfs/kubo · error
setting log level %s: %w
Error message
setting log level %s: %w
What it means
Failure in `ipfs log level`: logging.Parse rejected the --log-level string (or the GOLOG_LOG_LEVEL-style subcomponent spec, e.g. 'error,bitswap=debug'). The value is not a recognized go-log level or level/subsystem pair, so no log level was changed.
Source
Thrown at core/commands/log.go:269
Example:
GOLOG_LOG_LEVEL="error,bitswap=debug" ipfs daemon
ipfs log tail --log-level info
This will only return 'info' logs from bitswap and skip 'debug'.
`,
},
Options: []cmds.Option{
cmds.StringOption(logLevelOption, "Log level to listen to.").WithDefault(""),
},
Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
var pipeReader *logging.PipeReader
logLevelString, _ := req.Options[logLevelOption].(string)
if logLevelString != "" {
logLevel, err := logging.Parse(logLevelString)
if err != nil {
return fmt.Errorf("setting log level %s: %w", logLevelString, err)
}
pipeReader = logging.NewPipeReader(logging.PipeLevel(logLevel))
} else {
pipeReader = logging.NewPipeReader()
}
go func() {
<-req.Context.Done()
pipeReader.Close()
}()
return res.Emit(pipeReader)
},
}
View on GitHub (pinned to 329838acdf)
Solutions
- Use a single valid level: debug, info, warn, error, dpanic, panic, or fatal
- Use subsystem form like subsystem=level, e.g. bitswap=debug
- Check GOLOG_LOG_LEVEL docs for the accepted syntax
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at core/commands/log.go:269 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03).
Data as JSON: /api/errors/1fae88647e39d799.
Report an issue: GitHub.