Browse Source

rendered_view_duration

main
pvincent 5 months ago
parent
commit
c67ae48493
  1. 10
      lib/formatters/ansi_formatter.rb

10
lib/formatters/ansi_formatter.rb

@ -16,6 +16,7 @@ class AnsiFormatter < SemanticLogger::Formatters::Color
FAILOVER_WRAP = 80 FAILOVER_WRAP = 80
CHAR_FATAL = '⯶'.freeze CHAR_FATAL = '⯶'.freeze
TERMINUS_STRING = '╙─╜'.freeze TERMINUS_STRING = '╙─╜'.freeze
RENDERED_VIEW_DURATION = 100
def initialize def initialize
super(color_map: super(color_map:
@ -101,7 +102,16 @@ class AnsiFormatter < SemanticLogger::Formatters::Color
log.message.lstrip! log.message.lstrip!
if log.name == 'ActiveRecord::Base' && log.message.starts_with?('↳ ') if log.name == 'ActiveRecord::Base' && log.message.starts_with?('↳ ')
log.message = AnsiCommon.ansi_trace(log.message) log.message = AnsiCommon.ansi_trace(log.message)
elsif log.name == 'ActionView::Base'
match = log.message.match(/^Rendered( layout| collection of|) (.*?\.erb)(.*)(\(Duration:.*\))/)
if match
m1, m2, m3, m4 = match.captures
duration = m4.match(/Duration: (\d+\.?\d*)ms/).match(1).to_f
duration = duration < RENDERED_VIEW_DURATION ? '' : m4.to_s
log.message = "Rendered#{m1} #{m2}#{m3}#{duration}"
end
end end
end end
log log

Loading…
Cancel
Save