Class: Tunneler::Logger

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/tunneler/logger.rb

Constant Summary collapse

LOG_FILE =
"#{APPLICATION_ROOT}/log"
@@session =
""

Class Method Summary collapse

Class Method Details

.create_log_fileObject



9
10
11
12
13
# File 'lib/tunneler/logger.rb', line 9

def self.create_log_file
  unless File.exist?(LOG_FILE)
    File.open(LOG_FILE, "w") {}
  end
end

.log(message, level) ⇒ Object



15
16
17
18
19
20
# File 'lib/tunneler/logger.rb', line 15

def self.log(message, level)
  message = message.to_s
  self.log_to_file(message, level) unless level == :cli
  self.log_to_session(message)
  puts message unless level == :debug && !Tunneler.debug
end

.log_to_file(message, level) ⇒ Object



22
23
24
25
26
27
# File 'lib/tunneler/logger.rb', line 22

def self.log_to_file(message, level)
  self.create_log_file
  @@log ||= File.open(LOG_FILE, "a")
  log_entry = [Time.now.utc.iso8601, level.upcase, message.strip.strip]
  @@log.puts(log_entry.join("\t"))
end

.log_to_session(message) ⇒ Object



29
30
31
# File 'lib/tunneler/logger.rb', line 29

def self.log_to_session(message)
  @@session << message + "\n"
end

.sessionObject



33
34
35
# File 'lib/tunneler/logger.rb', line 33

def self.session
  @@session
end

.truncate_sessionObject



37
38
39
40
41
# File 'lib/tunneler/logger.rb', line 37

def self.truncate_session
  session = @@session
  @@session = ""
  session
end