From 1c0c681c899e921ea9941bceb8c46290d703778b Mon Sep 17 00:00:00 2001 From: pvincent Date: Sun, 14 Jan 2024 23:13:29 +0400 Subject: [PATCH] space_prefix --- lib/formatters/basic_formatter.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/formatters/basic_formatter.rb b/lib/formatters/basic_formatter.rb index e052e51..825d444 100644 --- a/lib/formatters/basic_formatter.rb +++ b/lib/formatters/basic_formatter.rb @@ -55,7 +55,9 @@ class BasicFormatter < SemanticLogger::Formatters::Color end wrap_length = IO.console.winsize[1] - FOREMAN_PREFIX - before_message.length + CONTENT_PREFIX.length + 12 - message = Wrapper.wrap("#{CONTENT_COLOR_MAP[log.level]}#{message.lstrip}", before_message(true), wrap_length) + space_prefix = message.match(/^\s*/) + message = Wrapper.wrap("#{CONTENT_COLOR_MAP[log.level]}#{message}", before_message(true, space_prefix), + wrap_length - space_prefix.length) "#{CONTENT_COLOR_MAP[log.level]}#{message}#{color_map.clear}" end @@ -88,11 +90,11 @@ class BasicFormatter < SemanticLogger::Formatters::Color private - def before_message(wrapped = false) + def before_message(wrapped = false, prefix = '') result = [name, level, tags, named_tags, duration, CONTENT_PREFIX].compact.join(' ') if wrapped [name, level, tags, named_tags, duration, - "#{color}#{WRAP_PREFIX}#{color_map.clear}"].compact.join(' ') + "#{color}#{WRAP_PREFIX}#{color_map.clear}#{prefix}"].compact.join(' ') else [name, level, tags, named_tags, duration, CONTENT_PREFIX].compact.join(' ')