Sha256: d04cbd08cd61b5dc20461ffc43db51c4323c2e98a30a201c36812fc165a76b78
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
# frozen_string_literal: true module ActiveRecord # Supports the logging configuration to prepend the database and schema in the ActiveRecord log class LogSubscriber def apartment_log return unless Apartment.active_record_log database = color("[#{Apartment.connection.current_database}] ", ActiveSupport::LogSubscriber::MAGENTA, true) schema = nil unless Apartment.connection.schema_search_path.nil? schema = color("[#{Apartment.connection.schema_search_path.tr('"', '')}] ", ActiveSupport::LogSubscriber::YELLOW, true) end "#{database}#{schema}" end def payload_binds(binds, type_casted_binds) return unless (binds || []).empty? casted_params = type_casted_binds(type_casted_binds) ' ' + binds.zip(casted_params).map { |attr, value| render_bind(attr, value) }.inspect end def sql(event) self.class.runtime += event.duration return unless logger.debug? payload = event.payload return if IGNORE_PAYLOAD_NAMES.include?(payload[:name]) name = "#{payload[:name]} (#{event.duration.round(1)}ms)" name = "CACHE #{name}" if payload[:cached] sql = payload[:sql] binds = payload_binds(payload[:binds], payload[:type_casted_binds]) name = colorize_payload_name(name, payload[:name]) sql = color(sql, sql_color(sql), true) if colorize_logging debug " #{apartment_log}#{name} #{sql}#{binds}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ros-apartment-2.7.2 | lib/apartment/active_record/log_subscriber.rb |