fix HasColorLogger

This commit is contained in:
Dylan Knutson
2023-04-02 19:17:31 +09:00
parent 9468e570d9
commit a0d52575f3
2 changed files with 14 additions and 24 deletions

View File

@@ -25,19 +25,12 @@ class ColorLogger
end
logger = Logger.new(sink).tap do |logger|
# logger.level = Logger::ERROR if Rails.env.test?
logger.instance_variable_set("@logger_prefix", "")
logger.instance_variable_set("@sink", sink)
def logger.prefix=(p)
@logger_prefix = p
prefix = ""
logger.define_singleton_method :prefix= do |p|
prefix = p
end
def logger.prefix
@logger_prefix || ""
end
def logger.sink
@sink
logger.define_singleton_method :sink do
sink
end
logger.formatter = proc do |severity, datetime, progname, msg|
@@ -48,7 +41,6 @@ class ColorLogger
end
klass_name_str = "[#{klass_name.send(color)}]".ljust(32)
prefix = logger.prefix
if prefix.is_a?(Proc)
prefix = prefix.call
end
@@ -61,7 +53,11 @@ class ColorLogger
end
end
ActiveSupport::TaggedLogging.new(logger)
if Rails.env.production?
ActiveSupport::TaggedLogging.new(logger)
else
logger
end
end
def self.klass_name_from_instance(instance)

View File

@@ -5,19 +5,13 @@ module HasColorLogger
Module.new do
extend ActiveSupport::Concern
@__color_logger_sink = sink
def self.name
"HasColorLogger[#{@__color_logger_sink.inspect}]"
define_singleton_method :name do
"HasColorLogger[#{sink.inspect}]"
end
included do
@__color_logger_sink = sink
def logger
@logger ||= ColorLogger.make(
self.class.instance_variable_get("@__color_logger_sink"),
self
)
define_method(:logger) do
@logger ||= ColorLogger.make(sink, self)
end
end
end