From e39c73fe759b8f5adc524e83ad845879217d6f5a Mon Sep 17 00:00:00 2001 From: pvincent Date: Wed, 11 Sep 2024 16:22:09 +0400 Subject: [PATCH] tag_wrap_error building --- app/controllers/scores_controller.rb | 1 + lib/monkey_patches/semantic_logger.rb | 17 +++++++++++++++++ lib/monkey_patches/semantic_logger/appenders.rb | 8 +++++--- .../base.rb | 0 lib/semantic/ansi_formatter.rb | 3 ++- lib/semantic/tag_wrap_error.rb | 2 +- 6 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 lib/monkey_patches/semantic_logger.rb rename lib/monkey_patches/{rails_semantic_logger => semantic_logger}/base.rb (100%) diff --git a/app/controllers/scores_controller.rb b/app/controllers/scores_controller.rb index ddc07d9..4d8d249 100644 --- a/app/controllers/scores_controller.rb +++ b/app/controllers/scores_controller.rb @@ -37,6 +37,7 @@ class ScoresController < ApplicationController end def destroy + aazazaz # @score.destroy! # redirect_to scores_url, notice: 'Score was successfully destroyed.', status: :see_other diff --git a/lib/monkey_patches/semantic_logger.rb b/lib/monkey_patches/semantic_logger.rb new file mode 100644 index 0000000..4139be7 --- /dev/null +++ b/lib/monkey_patches/semantic_logger.rb @@ -0,0 +1,17 @@ +module SemanticLogger + def self.fast_tag(tag) + return yield if tag.nil? || tag == '' + + t = Thread.current[:semantic_logger_tags] ||= [] + begin + t << tag + yield + # PVINCENT's addition + rescue StandardError => e + raise Semantic::TagWrapError.new(tag, e) + # END OF addition + ensure + t.pop + end + end +end diff --git a/lib/monkey_patches/semantic_logger/appenders.rb b/lib/monkey_patches/semantic_logger/appenders.rb index 267bdd7..22c452a 100644 --- a/lib/monkey_patches/semantic_logger/appenders.rb +++ b/lib/monkey_patches/semantic_logger/appenders.rb @@ -1,17 +1,19 @@ module SemanticLogger - # Manage a collection of appenders. class Appenders < Concurrent::Array def close closed_appenders = [] each do |appender| logger.trace "Closing appender: #{appender.name}" - closed_appenders << appender + + # PVINCENT's change + closed_appenders << appender # closed_ missing!!!! + # END OF change + appender.flush appender.close rescue Exception => e logger.error "Failed to close appender: #{appender.name}", e end - # Delete appenders outside the #each above which prevents changes during iteration. closed_appenders.each { |appender| delete(appender) } logger.trace 'All appenders closed and removed from appender list' end diff --git a/lib/monkey_patches/rails_semantic_logger/base.rb b/lib/monkey_patches/semantic_logger/base.rb similarity index 100% rename from lib/monkey_patches/rails_semantic_logger/base.rb rename to lib/monkey_patches/semantic_logger/base.rb diff --git a/lib/semantic/ansi_formatter.rb b/lib/semantic/ansi_formatter.rb index 6855577..4e0d881 100644 --- a/lib/semantic/ansi_formatter.rb +++ b/lib/semantic/ansi_formatter.rb @@ -29,7 +29,7 @@ module Semantic end def call(log, logger) - # puts 'ok' + # puts 'ok2' log = alter(log) self.log = log @@ -167,6 +167,7 @@ module Semantic if log.exception.is_a?(Semantic::TagWrapError) exc_wrapper = log.exception # puts "TAG_WRAP detected #{exc_wrapper.tag}" + exc = exc_wrapper.error log.tags = Array.wrap(exc_wrapper.tag) else diff --git a/lib/semantic/tag_wrap_error.rb b/lib/semantic/tag_wrap_error.rb index 5c2abb6..6c17235 100644 --- a/lib/semantic/tag_wrap_error.rb +++ b/lib/semantic/tag_wrap_error.rb @@ -9,6 +9,6 @@ module Semantic super("my error message contains tag #{tag}") end - def to_s = "TagWrap #{@tag}" + def to_s = "#{self.class}#{@tag}" end end