Class: LogStash::Outputs::CoralogixLogger
- Inherits:
-
Base
- Object
- Base
- LogStash::Outputs::CoralogixLogger
- Defined in:
- lib/logstash/outputs/coralogix_logger.rb
Instance Method Summary collapse
-
#configure ⇒ Object
This method is called before starting.
- #convert_to_json(str) ⇒ Object
- #extract(record, key, default) ⇒ Object
- #get_app_sub_name(record) ⇒ Object
- #get_logger(record) ⇒ Object
- #multi_receive(events) ⇒ Object
- #register ⇒ Object
-
#version? ⇒ Boolean
def event.
Instance Method Details
#configure ⇒ Object
This method is called before starting.
80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/logstash/outputs/coralogix_logger.rb', line 80 def configure begin @loggers = {} #If config parameters doesn't start with $ then we can configure Coralogix logger now. if !config_params["APP_NAME"].start_with?("$") && !config_params["SUB_SYSTEM"].start_with?("$") @logger = Coralogix::CoralogixLogger.new config_params["PRIVATE_KEY"], config_params["APP_NAME"], config_params["SUB_SYSTEM"], debug, "Logstash (#{version?})" @configured = true end rescue Exception => e $stderr.write "Failed to configure: #{e}" end end |
#convert_to_json(str) ⇒ Object
70 71 72 73 74 75 76 77 |
# File 'lib/logstash/outputs/coralogix_logger.rb', line 70 def convert_to_json str begin p = JSON::Parser.new(str, {:create_additions => true}) return p.parse rescue Exception => e return str end end |
#extract(record, key, default) ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/logstash/outputs/coralogix_logger.rb', line 93 def extract record, key, default begin res = record return key unless key.start_with?("$") key[1..-1].split(".").each do |k| res = res.fetch(k,nil) return default if res == nil end return res rescue Exception => e return default end end |
#get_app_sub_name(record) ⇒ Object
108 109 110 111 112 |
# File 'lib/logstash/outputs/coralogix_logger.rb', line 108 def get_app_sub_name(record) app_name = extract(record, config_params["APP_NAME"], DEFAULT_APP_NAME) sub_name = extract(record, config_params["SUB_SYSTEM"], DEFAULT_SUB_SYSTEM) return app_name, sub_name end |
#get_logger(record) ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/logstash/outputs/coralogix_logger.rb', line 114 def get_logger(record) return @logger if @configured app_name, sub_name = get_app_sub_name(record) if !@loggers.key?("#{app_name}.#{sub_name}") @loggers["#{app_name}.#{sub_name}"] = Coralogix::CoralogixLogger.new config_params["PRIVATE_KEY"], app_name, sub_name, debug, "Logstash (#{version?})" end return @loggers["#{app_name}.#{sub_name}"] end |
#multi_receive(events) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/logstash/outputs/coralogix_logger.rb', line 27 def multi_receive(events) events.each do |record| record = record.to_hash temp_key = (log_key_name == nil) ? "message" : log_key_name if record[temp_key] != nil record[temp_key] = is_json ? convert_to_json(record[temp_key]) : record[temp_key] end logger = get_logger(record) log_record = log_key_name != nil ? record.fetch(log_key_name, record) : record log_record = (is_json && record[temp_key] != nil) ? log_record.to_json : log_record log_record = (log_record == nil || log_record.to_s.empty?) ? record : log_record = record.fetch(, nil) if(.nil?) logger.debug log_record else begin = DateTime.parse(.to_s).to_time.to_f * 1000 logger.debug log_record, nil, timestamp: rescue Exception => e logger.debug log_record end end end return 1 end |
#register ⇒ Object
22 23 24 |
# File 'lib/logstash/outputs/coralogix_logger.rb', line 22 def register configure end |
#version? ⇒ Boolean
def event
62 63 64 65 66 67 68 |
# File 'lib/logstash/outputs/coralogix_logger.rb', line 62 def version? begin Gem.loaded_specs['logstash-output-coralogix_logger'].version.to_s rescue Exception => e return '0.0.0' end end |