fluent/fluentd · error · Fluent::ConfigError

Missing '@type' parameter on <#{e.name}> directive

Error message

Missing '@type' parameter on <#{e.name}> directive

What it means

Error "Missing '@type' parameter on <#{e.name}> directive" thrown in fluent/fluentd.

Source

Thrown at lib/fluent/static_config_analysis.rb:162

        if @labels[name]
          raise ConfigError, "Section <label #{name}> appears twice"
        end

        l = Elem::Label.new(name, e, static_filter_and_output_analyse(e))
        ret << l
        @labels[name] = l
      end

      ret
    end

    def static_filter_and_output_analyse(conf)
      ret = []
      conf.elements('filter', 'match').each do |e|
        type = e['@type']
        if type.nil? || type.empty?
          raise Fluent::ConfigError, "Missing '@type' parameter on <#{e.name}> directive"
        end

        if e.name == 'filter'
          f = Elem::Filter.new(Fluent::Plugin.new_filter(type), e)
          ret << f
          @filters << f
        else
          o = Elem::Output.new(Fluent::Plugin.new_output(type), e)
          ret << o
          @outputs << o
        end
      end

      ret
    end

    def static_input_analyse(conf)
      ret = []

View on GitHub (pinned to dd45c6e18d)

When it happens

Trigger: Thrown at lib/fluent/static_config_analysis.rb:162 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of fluent/fluentd@dd45c6e18d (2026-08-21). Data as JSON: /api/errors/3a11bd1b2638a789. Report an issue: GitHub.