class Kraftwerk::Logger::DevLogger
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/kraftwerk/logger/dev_logger.rb, line 8 def initialize(*args) super self.formatter = proc do |severity, datetime, progname, message| message + "\n" end end
Public Instance Methods
handle_request_finish(data, meta)
click to toggle source
# File lib/kraftwerk/logger/dev_logger.rb, line 25 def handle_request_finish(data, meta) msg = String.new clr = data[:code] < 400 ? :green : :red msg << color("[#{data[:code]}] ", clr) msg << "[#{data[:duration].round(3)} ms] " if !data[:body].nil? && data[:body].length > 0 msg << json_response(data[:body]) else msg << "[empty response]" end info(msg + "\n") end
handle_request_start(data, meta)
click to toggle source
# File lib/kraftwerk/logger/dev_logger.rb, line 15 def handle_request_start(data, meta) msg = String.new msg << "[#{meta[:time]}]\n" msg << color("[#{data[:method]}] ", :magenta) msg << color(data[:path], :green) msg << " " msg << (data[:params]&.empty? ? '' : JSON.dump(data[:params])) info(msg) end
Private Instance Methods
color(text, color)
click to toggle source
# File lib/kraftwerk/logger/dev_logger.rb, line 42 def color(text, color) Hanami::Utils::ShellColor.call(text, color: color) end
json_response(response)
click to toggle source
# File lib/kraftwerk/logger/dev_logger.rb, line 46 def json_response(response) JSON.dump(JSON.parse(response)) rescue "[non-JSON response: #{response}]" end