Type:
Class
Constants:
CLEAR : "\e[0m"

Embed in a String to clear all previous ANSI sequences.

BOLD : "\e[1m"
BLACK : "\e[30m"

Colors

RED : "\e[31m"
GREEN : "\e[32m"
YELLOW : "\e[33m"
BLUE : "\e[34m"
MAGENTA : "\e[35m"
CYAN : "\e[36m"
WHITE : "\e[37m"

ActiveSupport::LogSubscriber is an object set to consume ActiveSupport::Notifications with the sole purpose of logging them. The log subscriber dispatches notifications to a registered object based on its given namespace.

An example would be Active Record log subscriber responsible for logging queries:

module ActiveRecord
  class LogSubscriber < ActiveSupport::LogSubscriber
    def sql(event)
      "#{event.payload[:name]} (#{event.duration}) #{event.payload[:sql]}"
    end
  end
end

And it's finally registered as:

ActiveRecord::LogSubscriber.attach_to :active_record

Since we need to know all instance methods before attaching the log subscriber, the line above should be called after your ActiveRecord::LogSubscriber definition.

After configured, whenever a “sql.active_record” notification is published, it will properly dispatch the event (ActiveSupport::Notifications::Event) to the sql method.

Log subscriber also has some helpers to deal with logging and automatically flushes all logs when the request finishes (via action_dispatch.callback notification) in a Rails environment.

logged
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::LogSubscriber/ActiveSupport::LogSubscriber::TestHelper/ActiveSupport::LogSubscriber::TestHelper::MockLogger

logged(level) Instance Public methods

2025-01-10 15:47:30
new
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::LogSubscriber/ActiveSupport::LogSubscriber::TestHelper/ActiveSupport::LogSubscriber::TestHelper::MockLogger

new(level = DEBUG) Class Public methods

2025-01-10 15:47:30
method_missing
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::LogSubscriber/ActiveSupport::LogSubscriber::TestHelper/ActiveSupport::LogSubscriber::TestHelper::MockLogger

method_missing(level, message = nil) Instance Public methods

2025-01-10 15:47:30
start
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::LogSubscriber

start(name, id, payload) Instance Public methods

2025-01-10 15:47:30
wait
  • References/Ruby on Rails/Rails/Classes/ActiveSupport/ActiveSupport::LogSubscriber/ActiveSupport::LogSubscriber::TestHelper

wait() Instance Public methods Wait notifications to be published.

2025-01-10 15:47:30