Class: Terraspace::Logger

Inherits:
Logger
  • Object
show all
Defined in:
lib/terraspace/logger.rb,
lib/terraspace/logger/formatter.rb

Defined Under Namespace

Classes: Formatter

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Logger

Returns a new instance of Logger.



5
6
7
8
9
# File 'lib/terraspace/logger.rb', line 5

def initialize(*args)
  super
  self.formatter = Formatter.new
  self.level = ENV['TS_LOG_LEVEL'] || :info # note: only respected when config.logger not set in config/app.rb
end

Instance Method Details

#format_message(severity, datetime, progname, msg) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/terraspace/logger.rb', line 11

def format_message(severity, datetime, progname, msg)
  line = if @logdev.dev == $stdout || @logdev.dev == $stderr
    msg # super simple format if stdout
  else
    super # use the configured formatter
  end
  line =~ /\n$/ ? line : "#{line}\n"
end

#stdout(msg) ⇒ Object

Used to allow terraform output to always go to stdout Terraspace output goes to stderr by default See: terraspace/shell.rb



23
24
25
# File 'lib/terraspace/logger.rb', line 23

def stdout(msg)
  puts msg
end