Class: ActionMailer::LogSubscriber
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
|
|
Instance Chain:
|
|
Inherits: |
ActiveSupport::LogSubscriber
|
Defined in: | actionmailer/lib/action_mailer/log_subscriber.rb |
Overview
Implements the ::ActiveSupport::LogSubscriber for logging notifications when email is delivered and received.
Constant Summary
::ActiveSupport::LogSubscriber - Inherited
BLACK, BLUE, BOLD, CLEAR, CYAN, GREEN, MAGENTA, RED, WHITE, YELLOW
Class Attribute Summary
::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 |
Instance Attribute Summary
::ActiveSupport::LogSubscriber - Inherited
Instance Method Summary
-
#deliver(event)
An email was delivered.
-
#logger
Use the logger configured for Base
-
#process(event)
An email was generated.
-
#receive(event)
An email was received.
::ActiveSupport::LogSubscriber - Inherited
::ActiveSupport::Subscriber - Inherited
Constructor Details
This class inherits a constructor from ActiveSupport::Subscriber
Instance Method Details
#deliver(event)
An email was delivered.
# File 'actionmailer/lib/action_mailer/log_subscriber.rb', line 8
def deliver(event) info do recipients = Array(event.payload[:to]).join(', ') "\nSent mail to #{recipients} (#{event.duration.round(1)}ms)" end debug { event.payload[:mail] } end
#logger
Use the logger configured for Base
# File 'actionmailer/lib/action_mailer/log_subscriber.rb', line 33
def logger ActionMailer::Base.logger end
#process(event)
An email was generated.
# File 'actionmailer/lib/action_mailer/log_subscriber.rb', line 24
def process(event) debug do mailer = event.payload[:mailer] action = event.payload[:action] "\n#{mailer}##{action}: processed outbound mail in #{event.duration.round(1)}ms" end end
#receive(event)
An email was received.
# File 'actionmailer/lib/action_mailer/log_subscriber.rb', line 18
def receive(event) info { "\nReceived mail (#{event.duration.round(1)}ms)" } debug { event.payload[:mail] } end