Class: SimpleLogger

Inherits:
LoggerBase show all
Defined in:
lib/logging/simple_logger.rb

Instance Method Summary collapse

Methods inherited from LoggerBase

#log_error, #message_box

Constructor Details

#initialize(log_file, also_log_to_console = false) ⇒ SimpleLogger

Returns a new instance of SimpleLogger.



4
5
6
7
8
9
# File 'lib/logging/simple_logger.rb', line 4

def initialize(log_file, also_log_to_console = false)
  @log_file = log_file
  @also_log_to_console = also_log_to_console

  print "Logging to #{@log_file}\n" unless also_log_to_console
end

Instance Method Details

#log(message) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/logging/simple_logger.rb', line 11

def log(message)
  message = message.to_s # in case booleans or whatever are passed
  timestamp = "#{Time.now.strftime("%Y-%m-%d %H:%M:%S")}"

  prefix = "#{timestamp}|"
  message = message.gsub("\n", "\n" + (" " * prefix.length))

  log_message = "#{prefix}#{message}\n"

  File.open(@log_file, "a") do |log_file|
    log_file.print(log_message)
  end

  print(log_message) if @also_log_to_console
end