Class: Stackify::LoggerClient

Inherits:
Object
  • Object
show all
Defined in:
lib/stackify/logger_client.rb

Instance Method Summary collapse

Constructor Details

#initializeLoggerClient

Returns a new instance of LoggerClient.



4
5
6
7
8
9
10
11
12
13
# File 'lib/stackify/logger_client.rb', line 4

def initialize
  begin
    @@errors_governor = Stackify::ErrorsGovernor.new
    @@transport = Stackify::TransportSelector.new(Stackify.configuration.transport).transport
    Stackify.internal_log :info, "[LoggerClient] initialize: #{@@transport}"
    return if @@transport.nil?
  rescue => ex
    Stackify.log_internal_error "[LoggerClient] initialize exception = #{ex.inspect}"
  end
end

Instance Method Details

#get_transportObject



53
54
55
56
# File 'lib/stackify/logger_client.rb', line 53

def get_transport
  return if @@transport.nil?
  @@transport
end

#log(num_level, level, msg, call_trace) ⇒ Object

This function is responsible in displaying log messages based on the level criteria

Parameters:

  • level of the clients Rails.logger

  • level coming from array of levels(debug info warn error fatal unknown) that we are going to filter with num_level So we filter all logs from num_level up to this level

  • log messages

  • return the current execution stack



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/stackify/logger_client.rb', line 21

def log num_level, level, msg, call_trace
  display_log = true
  log_appender = false
  buffer_log = false
  if defined? Rails
    display_log = false if Stackify.configuration.stdout_output
    log_appender = true if defined?(Logging)
    buffer_log = true if Stackify.configuration.buffered_logger
    unless buffer_log
      if Gem::Version.new(Rails::VERSION::STRING) >= Gem::Version.new('4.0')
        if display_log && log_appender
          puts msg if num_level <= Logger.const_get(level.upcase).to_i
        elsif display_log && log_appender == false
          puts msg if num_level <= Logger.const_get(level.upcase).to_i
        end
      end
    end
  else
    puts msg if num_level <= Logger.const_get(level.upcase).to_i
  end

  return if @@transport.nil?
  task = log_message_task level, msg, call_trace
  @@transport.log level, msg, call_trace, task
end

#log_exception(level = :error, ex) ⇒ Object



47
48
49
50
51
# File 'lib/stackify/logger_client.rb', line 47

def log_exception level= :error, ex
  return if @@transport.nil?
  task = log_exception_task level, ex
  @@transport.log_exception level, ex, task
end