class Fluent::Plugin::ApptuitFilter
Public Instance Methods
filter(tag, time, record)
click to toggle source
# File lib/fluent/plugin/filter_apptuit.rb, line 34 def filter(tag, time, record) begin fingerprint_object = FingerPrinter.new() if @lang.downcase == 'java' if record.key?(@error_msg_tag) if syslog message = get_decoded_message(record[@error_msg_tag]) else message = record[@error_msg_tag] end err_name, fingerprint, essence, stack = fingerprint_object.fingerprint_java(message) if err_name != nil record['error_fingerprint'] = fingerprint record['exception'] = err_name end end elsif @lang.downcase == 'python' if record.key?(@error_msg_tag) if syslog message = get_decoded_message(record[@error_msg_tag]) else message = record[@error_msg_tag] end err_name, fingerprint, essence, stack = fingerprint_object.fingerprint_python(message) if err_name != nil record['error_fingerprint'] = fingerprint record['exception'] = err_name end end elsif @lang.downcase == 'nodejs' if record.key?(@error_msg_tag) if syslog message = get_decoded_message(record[@error_msg_tag]) else message = record[@error_msg_tag] end err_name, fingerprint, essence, stack = fingerprint_object.fingerprint_nodejs(message) if err_name != nil record['error_fingerprint'] = fingerprint record['exception'] = err_name end end else return record end rescue return record end record end
get_decoded_message(message)
click to toggle source
# File lib/fluent/plugin/filter_apptuit.rb, line 29 def get_decoded_message(message) message = message.gsub(/#([0-9]{3})/) {$1.oct.chr} return message end