Module: TasteTester::Logging

Included in:
Client, Commands, Config, Hooks, Host, LocalLink, SSH, Server, State, Tunnel
Defined in:
lib/taste_tester/logging.rb

Overview

Logging wrapper

Constant Summary collapse

@@use_log_formatter =
false
@@level =
Logger::WARN
@@formatter_proc =
nil

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.formatterproc=(p) ⇒ Object



38
39
40
# File 'lib/taste_tester/logging.rb', line 38

def self.formatterproc=(p)
  @@formatter_proc = p
end

.loggerObject



34
35
36
# File 'lib/taste_tester/logging.rb', line 34

def self.logger
  @logger ||= Logger.new(STDOUT)
end

.use_log_formatter=(use_log_formatter) ⇒ Object



42
43
44
# File 'lib/taste_tester/logging.rb', line 42

def self.use_log_formatter=(use_log_formatter)
  @@use_log_formatter = use_log_formatter
end

.verbosity=(level) ⇒ Object



46
47
48
# File 'lib/taste_tester/logging.rb', line 46

def self.verbosity=(level)
  @@level = level
end

Instance Method Details

#formatterObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/taste_tester/logging.rb', line 50

def formatter
  return @@formatter_proc if @@formatter_proc
  if @@use_log_formatter
    proc do |severity, datetime, progname, msg|
      if severity == 'ERROR'
        msg = msg.red
      end
      "[#{datetime.strftime('%Y-%m-%dT%H:%M:%S%:z')}] #{severity}: #{msg}\n"
    end
  else
    proc do |severity, datetime, progname, msg|
      msg.to_s.prepend("#{severity}: ") unless severity == 'WARN'
      if severity == 'ERROR'
        msg = msg.to_s.red
      end
      "#{msg}\n"
    end
  end
end

#loggerObject



27
28
29
30
31
32
# File 'lib/taste_tester/logging.rb', line 27

def logger
  logger = Logging.logger
  logger.formatter = formatter
  logger.level = @@level
  logger
end