class LogStash::Filters::I18n

The i18n filter allows you to remove special characters from from a field

Public Instance Methods

filter(event) click to toggle source
# File lib/logstash/filters/i18n.rb, line 29
def filter(event)
  return unless filter?(event)

  transliterate(event) if @transliterate

  filter_matched(event)
end
register() click to toggle source
# File lib/logstash/filters/i18n.rb, line 25
def register
end

Private Instance Methods

transliterate(event) click to toggle source
# File lib/logstash/filters/i18n.rb, line 38
def transliterate(event)
  @transliterate.each do |field|
    if event[field].is_a?(Array)
      event[field].map! { |v| I18n.transliterate(v).encode('UTF-8') }
    elsif event[field].is_a?(String)
      event[field] = I18n.transliterate(event[field].encode('UTF-8'))
    else
      @logger.debug("Can't transliterate something that isn't a string",
                    :field => field, :value => event[field])
    end
  end
end