module Calabash::Android::Logging

Public Class Methods

log_debug(msg) click to toggle source

!@visibility private magenta

# File lib/calabash-android/logging.rb, line 18
def self.log_debug(msg)
  if Calabash::Android::Environment.debug?
    puts self.magenta("DEBUG: #{msg}") if msg
  end
end
log_error(msg) click to toggle source

!@visibility private red

# File lib/calabash-android/logging.rb, line 32
def self.log_error(msg)
  puts self.red("ERROR: #{msg}") if msg
end
log_info(msg) click to toggle source

!@visibility private green

# File lib/calabash-android/logging.rb, line 26
def self.log_info(msg)
  puts self.green(" INFO: #{msg}") if msg
end
log_to_file(message) click to toggle source

!@visibility private

# File lib/calabash-android/logging.rb, line 37
      def self.log_to_file(message)
        timestamp = self.timestamp

        begin
          File.open(self.calabash_log_file, "a:UTF-8") do |file|
            message.split($-0).each do |line|
              file.write("#{timestamp} #{line}#{$-0}")
            end
          end
        rescue => e
          message =
%Q{Could not write:

#{message}

to calabash.log because:

#{e}
}
          self.log_debug(message)
        end
      end
log_warn(msg) click to toggle source

!@visibility private blue

# File lib/calabash-android/logging.rb, line 12
def self.log_warn(msg)
  puts self.blue(" WARN: #{msg}") if msg
end

Private Class Methods

blue(string) click to toggle source

@!visibility private

# File lib/calabash-android/logging.rb, line 79
def self.blue(string)
  colorize(string, 34)
end
calabash_log_file() click to toggle source

@!visibility private

# File lib/calabash-android/logging.rb, line 111
def self.calabash_log_file
  path = File.join(self.logs_directory, "calabash.log")
  if !File.exist?(path)
    FileUtils.touch(path)
  end
  path
end
colorize(string, color) click to toggle source

@!visibility private

# File lib/calabash-android/logging.rb, line 63
def self.colorize(string, color)
  if Calabash::Android::Environment.windows?
    string
  elsif Calabash::Android::Environment.xtc?
    string
  else
    "\033[#{color}m#{string}\033[0m"
  end
end
cyan(string) click to toggle source

@!visibility private

# File lib/calabash-android/logging.rb, line 89
def self.cyan(string)
  colorize(string, 36)
end
green(string) click to toggle source

@!visibility private

# File lib/calabash-android/logging.rb, line 94
def self.green(string)
  colorize(string, 32)
end
logs_directory() click to toggle source

@!visibility private

# File lib/calabash-android/logging.rb, line 104
def self.logs_directory
  path = File.join(Calabash::Android::DotDir.directory, "logs")
  FileUtils.mkdir_p(path)
  path
end
magenta(string) click to toggle source

@!visibility private

# File lib/calabash-android/logging.rb, line 84
def self.magenta(string)
  colorize(string, 35)
end
red(string) click to toggle source

@!visibility private

# File lib/calabash-android/logging.rb, line 74
def self.red(string)
  colorize(string, 31)
end
timestamp() click to toggle source

@!visibility private

# File lib/calabash-android/logging.rb, line 99
def self.timestamp
  Time.now.strftime("%Y-%m-%d_%H-%M-%S")
end