У меня есть ниже Fluentd код плагина:error_class = NoMethodError ошибка = "неопределенный метод` bytesize»Fluentd
require 'avro'
module Fluent
module TextFormatter
class Sample
end
class AvroFormatter < Formatter
Fluent::Plugin.register_formatter('avro', self)
config_param :schema_file, :string, :default => nil
config_param :schema_json, :string, :default => nil
def configure(conf)
super
if not (@schema_json.nil?^@schema_file.nil?) then
raise Fluent::ConfigError, 'schema_json or schema_file (but not both) is required'
end
if @schema_json.nil? then
@schema_json = File.read(@schema_file)
end
@schema = Avro::Schema.parse(@schema_json)
end
def format(tag, time, record)
handler = Sample.new()
end
end
end
end
И мне нужно, например в класса„Образец“в четкости„Формат“ . проблема заключается в том, что, когда я пытаюсь сделать HTTP POST, против Fluentd появляется следующее сообщение об ошибке:
failed: error_class=NoMethodError error="undefined method `bytesize'
Эта ошибка появляется только тогда, когда класс «образец» является инстанс. Я новичок в рубине, и я не знаю, где проблема. Должен ли я создать класс «Образец» в другом файле?
Не могли бы вы показать полную трассировку стека вашей ошибки? –