Class: ColorizedLogger::Logger

Inherits:
ActiveSupport::Logger
  • Object
show all
Defined in:
lib/colorized_logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(path, colorize: false) ⇒ Logger

Returns a new instance of Logger.



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

def initialize(path, colorize: false)
  super(path)
  return unless colorize
  @formatter = ActiveSupport::Logger::SimpleFormatter.new
  self.formatter = proc { |severity, datetime, progname, msg|
    formatted_message = "#{datetime} #{severity} -- #{progname}: #{msg}\n"
    colorize(formatted_message, color_for_severity(severity))
  }
end

Instance Method Details



20
21
22
23
24
25
26
27
28
29
# File 'lib/colorized_logger.rb', line 20

def print(message, tag = nil, severity: :debug)
  caller_file = find_caller_file
  tag = tag ? "#{tag} | /#{caller_file}.rb" : "/#{caller_file}.rb"
  color_code = color_for_severity(severity.to_s.upcase)
  colorized_tag = colorize(tag, color_code)
  colorized_message = colorize(message, color_code)
  Rails.logger.tagged(colorized_tag) do
    Rails.logger.debug(colorized_message)
  end
end