Module: Applitools::EyesLogger

Extended by:
EyesLogger, Forwardable
Included in:
EyesLogger
Defined in:
lib/applitools/eyes_logger.rb

Defined Under Namespace

Classes: NullLogger

Constant Summary collapse

MANDATORY_METHODS =
[:debug, :info, :close].freeze
OPTIONAL_METHODS =
[:warn, :error, :fatal].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.add_thread_id_to_log_handler!(log_handler) ⇒ Object

noinspection SpellCheckingInspection



14
15
16
17
18
19
20
# File 'lib/applitools/eyes_logger.rb', line 14

def self.add_thread_id_to_log_handler!(log_handler)
  original_formatter = Logger::Formatter.new
  log_handler.formatter = proc do |severity, datetime, progname, msg|
    updated_progname = "#{progname} (#{Thread.current.object_id})"
    original_formatter.call(severity, datetime, updated_progname, msg.dump)
  end
end

Instance Method Details

#log_handlerObject



36
37
38
# File 'lib/applitools/eyes_logger.rb', line 36

def log_handler
  @log_handler
end

#log_handler=(log_handler) ⇒ Object

Raises:

  • (Applitools::EyesError)


29
30
31
32
33
34
# File 'lib/applitools/eyes_logger.rb', line 29

def log_handler=(log_handler)
  raise Applitools::EyesError.new('log_handler must implement Logger!') unless valid?(log_handler)

  Applitools::EyesLogger.add_thread_id_to_log_handler! log_handler
  @log_handler = log_handler
end

#loggerObject



40
41
42
# File 'lib/applitools/eyes_logger.rb', line 40

def logger
  self
end