From 334e12bf0e8846d2962037b70d060e2eda488203 Mon Sep 17 00:00:00 2001 From: pvincent Date: Sun, 14 Jan 2024 23:24:56 +0400 Subject: [PATCH] rescue IO.console in case of debug --- Procfile.dev | 2 +- lib/formatters/basic_formatter.rb | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Procfile.dev b/Procfile.dev index 4f9c46a..6c23243 100644 --- a/Procfile.dev +++ b/Procfile.dev @@ -1,3 +1,3 @@ # web: env RUBY_DEBUG_OPEN=true bin/rails server --port 3000 -web: bin/rails server --port 3000 +web: env TERMINAL_PREFIX=15 bin/rails server --port 3000 css: bin/rails tailwindcss:watch diff --git a/lib/formatters/basic_formatter.rb b/lib/formatters/basic_formatter.rb index 825d444..d1599e2 100644 --- a/lib/formatters/basic_formatter.rb +++ b/lib/formatters/basic_formatter.rb @@ -4,7 +4,7 @@ require 'io/console' # Opinioned Rails custom formatter class BasicFormatter < SemanticLogger::Formatters::Color NAME_MAX_SIZE = 25 - FOREMAN_PREFIX = 15 + TERMINAL_PREFIX = ENV['TERMINAL_PREFIX'].to_i || 0 CONTENT_PREFIX = ' '.freeze WRAP_PREFIX = ' > '.freeze @@ -54,7 +54,12 @@ class BasicFormatter < SemanticLogger::Formatters::Color message += "\n" unless message.starts_with?('Completed 5') end - wrap_length = IO.console.winsize[1] - FOREMAN_PREFIX - before_message.length + CONTENT_PREFIX.length + 12 + begin + wrap_length = IO.console.winsize[1] - TERMINAL_PREFIX - before_message.length + CONTENT_PREFIX.length + 12 + rescue StandardError + wrap_length = 100 + end + space_prefix = message.match(/^\s*/) message = Wrapper.wrap("#{CONTENT_COLOR_MAP[log.level]}#{message}", before_message(true, space_prefix), wrap_length - space_prefix.length)