Module: Logger

Included in:
Kffpt::Main
Defined in:
lib/kffpt/logger.rb

Instance Method Summary collapse

Instance Method Details

#debug(m) ⇒ Object



47
48
49
# File 'lib/kffpt/logger.rb', line 47

def debug m
  stderr.puts blue(log(m, 'DEBUG')) if options[:debug]
end

#info(m) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/kffpt/logger.rb', line 39

def info m
  if options[:debug] || options[:trace]
    stdout.puts green(log(m, 'INFO'))
  else
    stdout.puts green(m)
  end
end

#log(message, level) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/kffpt/logger.rb', line 9

def log message, level
  '%s [%s] %s -- %s' % [
    level,
    Time.now.iso8601(6),
    File::basename(caller[4]),
    message
  ]
end

#outObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/kffpt/logger.rb', line 18

def out
  begin
    @@log
  rescue NameError
    started = File.exist? options[:log]
    @@log   = File.open options[:log], 'a'
    @@log.puts '# Log started %s' % Time.now unless started
    @@log
  end
end

#stderrObject



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

def stderr
  return out if options[:log]
  $stderr
end

#stdoutObject



34
35
36
37
# File 'lib/kffpt/logger.rb', line 34

def stdout
  return out if options[:log]
  $stdout
end

#trace(m) ⇒ Object



51
52
53
# File 'lib/kffpt/logger.rb', line 51

def trace m
  stderr.puts magenta(log(m, 'TRACE')) if options[:trace]
end