slackhq/nebula · error

failed to apply logging config: %s

Error message

failed to apply logging config: %s

What it means

Wrapping error in service Start: logging.ApplyConfig rejected the logging section of the loaded config — invalid level names, malformed outputs, or bad timestamps formats. The service aborts startup because logging could not be initialized; cause appended via %s. The same check runs again on config reload, where it is logged rather than returned.

Source

Thrown at cmd/nebula-service/service.go:35

	configPath *string
	build      string
	control    *nebula.Control
}

func (p *program) Start(s service.Service) error {
	// Start should not block.
	logger.Info("Nebula service starting.")

	l := newPlatformLogger()

	c := config.NewC(l)
	err := c.Load(*p.configPath)
	if err != nil {
		return fmt.Errorf("failed to load config: %s", err)
	}

	if err := logging.ApplyConfig(l, c); err != nil {
		return fmt.Errorf("failed to apply logging config: %s", err)
	}
	c.RegisterReloadCallback(func(c *config.C) {
		if err := logging.ApplyConfig(l, c); err != nil {
			l.Error("Failed to reconfigure logger on reload", "error", err)
		}
	})

	p.control, err = nebula.Main(c, false, Build, l, nil)
	if err != nil {
		return err
	}

	if err := p.control.Start(); err != nil {
		return err
	}

	// Nebula can stop itself on a fatal packet reader error, make sure to log it if it happens.
	go func() {

View on GitHub (pinned to dd8f660c0a)

Solutions

  1. Fix the logging: block (level, format, timestamps) per the documentation
  2. Remove invalid log output destinations
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cmd/nebula-service/service.go:35 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of slackhq/nebula@dd8f660c0a (2026-09-03). Data as JSON: /api/errors/4dd083515cd3b6ce. Report an issue: GitHub.