Class: TraceViz::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/trace_viz/logger.rb

Constant Summary collapse

LEVELS =
Defaults::Actions.keys.freeze

Instance Method Summary collapse

Constructor Details

#initialize(output: $stdout) ⇒ Logger

Returns a new instance of Logger.



9
10
11
# File 'lib/trace_viz/logger.rb', line 9

def initialize(output: $stdout)
  @output = output
end

Instance Method Details

#log(message, level = :default) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/trace_viz/logger.rb', line 19

def log(message, level = :default)
  validate_message!(message)
  validate_level!(level)

  colors = Defaults::Actions.colors_for(level)
  emoji = Defaults::Actions.emoji_for(level)

  raw_message = build_message(message, level, emoji)
  formatted_message = apply_colors(raw_message, colors)

  @output.puts(formatted_message)
end