Class: Log

Inherits:
Object
  • Object
show all
Defined in:
lib/bolt_train_runner/log.rb

Instance Method Summary collapse

Constructor Details

#initialize(file = '~/.bolttrain/runner.log', console_level = 'INFO', file_level = 'DEBUG') ⇒ Log

Returns a new instance of Log.



7
8
9
10
11
12
13
14
15
# File 'lib/bolt_train_runner/log.rb', line 7

def initialize(file='~/.bolttrain/runner.log', console_level='INFO', file_level='DEBUG')
  file = File.expand_path(file)
  dir = File.split(file)[0]
  Dir.mkdir(dir) unless File.exist?(dir)
  @console = Logger.new(STDOUT, 
    level: console_level,
    formatter: proc { |sev, datetime, progname, msg| "#{msg}\n" })
  @file = Logger.new(file, 'daily', level: file_level)
end

Instance Method Details

#closeObject



95
96
97
98
# File 'lib/bolt_train_runner/log.rb', line 95

def close
  @console.close
  @file.close
end

#debug(msg, console = true, file = true) ⇒ Object



25
26
27
28
# File 'lib/bolt_train_runner/log.rb', line 25

def debug(msg, console=true, file=true)
  @console.debug(msg) if console
  @file.debug(msg) if file
end

#debug_console(msg) ⇒ Object



30
31
32
# File 'lib/bolt_train_runner/log.rb', line 30

def debug_console(msg)
  debug(msg, true, false)
end

#debug_file(msg) ⇒ Object



34
35
36
# File 'lib/bolt_train_runner/log.rb', line 34

def debug_file(msg)
  debug(msg, false, true)
end

#error(msg, console = true, file = true) ⇒ Object



69
70
71
72
# File 'lib/bolt_train_runner/log.rb', line 69

def error(msg, console=true, file=true)
  @console.error(msg.red) if console
  @file.error(msg) if file
end

#error_console(msg) ⇒ Object



74
75
76
# File 'lib/bolt_train_runner/log.rb', line 74

def error_console(msg)
  error(msg.red, true, false)
end

#error_file(msg) ⇒ Object



78
79
80
# File 'lib/bolt_train_runner/log.rb', line 78

def error_file(msg)
  error(msg, false, true)
end

#fatal(msg, console = true, file = true) ⇒ Object



82
83
84
85
# File 'lib/bolt_train_runner/log.rb', line 82

def fatal(msg, console=true, file=true)
  @console.fatal(msg.red) if console
  @file.fatal(msg) if file
end

#fatal_console(msg) ⇒ Object



87
88
89
# File 'lib/bolt_train_runner/log.rb', line 87

def fatal_console(msg)
  fatal(msg.red, true, false)
end

#fatal_file(msg) ⇒ Object



91
92
93
# File 'lib/bolt_train_runner/log.rb', line 91

def fatal_file(msg)
  fatal(msg, false, true)
end

#help(msg) ⇒ Object

Just for printing help text to the console. Doesn’t need to be logged.



39
40
41
# File 'lib/bolt_train_runner/log.rb', line 39

def help(msg)
  @console.info(msg.cyan)
end

#info(msg, console = true, file = true) ⇒ Object



43
44
45
46
# File 'lib/bolt_train_runner/log.rb', line 43

def info(msg, console=true, file=true)
  @console.info(msg.green) if console
  @file.info(msg) if file
end

#info_console(msg) ⇒ Object



48
49
50
# File 'lib/bolt_train_runner/log.rb', line 48

def info_console(msg)
  info(msg.green, true, false)
end

#info_file(msg) ⇒ Object



52
53
54
# File 'lib/bolt_train_runner/log.rb', line 52

def info_file(msg)
  info(msg, false, true)
end

#set_console_level(level) ⇒ Object



17
18
19
# File 'lib/bolt_train_runner/log.rb', line 17

def set_console_level(level)
  @console.level = level
end

#set_file_level(level) ⇒ Object



21
22
23
# File 'lib/bolt_train_runner/log.rb', line 21

def set_file_level(level)
  @file.level = level
end

#warn(msg, console = true, file = true) ⇒ Object



56
57
58
59
# File 'lib/bolt_train_runner/log.rb', line 56

def warn(msg, console=true, file=true)
  @console.warn(msg.yellow) if console
  @file.warn(msg) if file
end

#warn_console(msg) ⇒ Object



61
62
63
# File 'lib/bolt_train_runner/log.rb', line 61

def warn_console(msg)
  warn(msg.yellow, true, false)
end

#warn_file(msg) ⇒ Object



65
66
67
# File 'lib/bolt_train_runner/log.rb', line 65

def warn_file(msg)
  warn(msg, false, true)
end