Class: ActiveRecord::LogSubscriber
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
|
|
Instance Chain:
|
|
Inherits: |
ActiveSupport::LogSubscriber
|
Defined in: | activerecord/lib/active_record/log_subscriber.rb |
Constant Summary
-
IGNORE_PAYLOAD_NAMES =
# File 'activerecord/lib/active_record/log_subscriber.rb', line 5["SCHEMA", "EXPLAIN"]
-
RAILS_GEM_ROOT =
# File 'activerecord/lib/active_record/log_subscriber.rb', line 128File. ("../../..", __dir__) + "/"
::ActiveSupport::LogSubscriber
- Inherited
BLACK, BLUE, BOLD, CLEAR, CYAN, GREEN, MAGENTA, RED, WHITE, YELLOW
Class Attribute Summary
- .runtime rw
- .runtime=(value) rw
::ActiveSupport::LogSubscriber
- Inherited
Class Method Summary
::ActiveSupport::LogSubscriber
- Inherited
.flush_all! | Flush all log_subscribers’ logger. |
.log_subscribers |
::ActiveSupport::Subscriber
- Inherited
.attach_to | Attach the subscriber to a namespace. |
.method_added | Adds event subscribers for all new methods added to the class. |
.new, .subscribers, .add_event_subscriber |
Instance Attribute Summary
::ActiveSupport::LogSubscriber
- Inherited
Instance Method Summary
::ActiveSupport::LogSubscriber
- Inherited
::ActiveSupport::Subscriber
- Inherited
Constructor Details
This class inherits a constructor from ActiveSupport::Subscriber
Class Attribute Details
.runtime (rw)
[ GitHub ]# File 'activerecord/lib/active_record/log_subscriber.rb', line 11
def self.runtime ActiveRecord::RuntimeRegistry.sql_runtime ||= 0 end
.runtime=(value) (rw)
[ GitHub ]# File 'activerecord/lib/active_record/log_subscriber.rb', line 7
def self.runtime=(value) ActiveRecord::RuntimeRegistry.sql_runtime = value end
Class Method Details
.reset_runtime
[ GitHub ]Instance Method Details
#sql(event)
[ GitHub ]# File 'activerecord/lib/active_record/log_subscriber.rb', line 20
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 = nil unless (payload[:binds] || []).empty? casted_params = type_casted_binds(payload[:type_casted_binds]) binds = " " + payload[:binds].zip(casted_params).map { |attr, value| render_bind(attr, value) }.inspect end name = colorize_payload_name(name, payload[:name]) sql = color(sql, sql_color(sql), true) debug " #{name} #{sql}#{binds}" end