Class: ActionMailer::LogSubscriber
- Inherits:
-
ActiveSupport::LogSubscriber
- Object
- ActiveSupport::Subscriber
- ActiveSupport::LogSubscriber
- ActionMailer::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
Constants inherited from ActiveSupport::LogSubscriber
ActiveSupport::LogSubscriber::BLACK, ActiveSupport::LogSubscriber::BLUE, ActiveSupport::LogSubscriber::BOLD, ActiveSupport::LogSubscriber::CLEAR, ActiveSupport::LogSubscriber::CYAN, ActiveSupport::LogSubscriber::GREEN, ActiveSupport::LogSubscriber::MAGENTA, ActiveSupport::LogSubscriber::RED, ActiveSupport::LogSubscriber::WHITE, ActiveSupport::LogSubscriber::YELLOW
Instance Attribute Summary
Attributes inherited from ActiveSupport::Subscriber
Instance Method Summary collapse
-
#deliver(event) ⇒ Object
An email was delivered.
-
#logger ⇒ Object
Use the logger configured for ActionMailer::Base.
-
#process(event) ⇒ Object
An email was generated.
-
#receive(event) ⇒ Object
An email was received.
Methods inherited from ActiveSupport::LogSubscriber
#finish, flush_all!, log_subscribers, #start
Methods inherited from ActiveSupport::Subscriber
attach_to, #finish, #initialize, method_added, #start, subscribers
Constructor Details
This class inherits a constructor from ActiveSupport::Subscriber
Instance Method Details
#deliver(event) ⇒ Object
An email was delivered.
8 9 10 11 12 13 |
# File 'actionmailer/lib/action_mailer/log_subscriber.rb', line 8 def deliver(event) return unless logger.info? recipients = Array(event.payload[:to]).join(', ') info("\nSent mail to #{recipients} (#{event.duration.round(1)}ms)") debug(event.payload[:mail]) end |
#logger ⇒ Object
Use the logger configured for ActionMailer::Base
30 31 32 |
# File 'actionmailer/lib/action_mailer/log_subscriber.rb', line 30 def logger ActionMailer::Base.logger end |
#process(event) ⇒ Object
An email was generated.
23 24 25 26 27 |
# File 'actionmailer/lib/action_mailer/log_subscriber.rb', line 23 def process(event) mailer = event.payload[:mailer] action = event.payload[:action] debug("\n#{mailer}##{action}: processed outbound mail in #{event.duration.round(1)}ms") end |
#receive(event) ⇒ Object
An email was received.
16 17 18 19 20 |
# File 'actionmailer/lib/action_mailer/log_subscriber.rb', line 16 def receive(event) return unless logger.info? info("\nReceived mail (#{event.duration.round(1)}ms)") debug(event.payload[:mail]) end |