class Rake::TeamCity::Utils::FileLogger

Public Class Methods

new(logs_dir, file_suffix) click to toggle source
# File lib/rspec/teamcity/utils/logger_util.rb, line 26
def initialize(logs_dir, file_suffix)
  @enabled = ENV[logs_dir]

  @log_file = @enabled ? File.new(ENV[logs_dir] + file_suffix, "a+") : nil
end

Public Instance Methods

close() click to toggle source
# File lib/rspec/teamcity/utils/logger_util.rb, line 54
def close
  @log_file.close if @enabled
end
current_proc_thread_info() click to toggle source
# File lib/rspec/teamcity/utils/logger_util.rb, line 32
def current_proc_thread_info
  "[pid:#{Process.pid}x#{Thread.current}]"
end
log_block(id, data = nil, add_proc_thread_info=false) { || ... } click to toggle source
# File lib/rspec/teamcity/utils/logger_util.rb, line 43
def log_block(id, data = nil, add_proc_thread_info=false)
  log_msg("Start [#{id}]" + (data ? " data=[#{data}]" : ""), add_proc_thread_info);
  begin
    yield
  rescue Exception => e
    log_msg("Exception [#{id}], type=#{e.class.name}, msg=#{e.message}", add_proc_thread_info)
    raise
  end
  log_msg("End [#{id}]", add_proc_thread_info)
end
log_msg(msg, add_proc_thread_info=false) click to toggle source
# File lib/rspec/teamcity/utils/logger_util.rb, line 36
def log_msg(msg, add_proc_thread_info=false)
  if @enabled
    @log_file << "[#{Time.now}] : #{(add_proc_thread_info ? current_proc_thread_info : "") + " " + msg}\n"
    @log_file.flush
  end
end