Project

General

Profile

Actions

Defect #30457

closed

MailHandler.safe_receive does not output any error log

Added by Go MAEDA about 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Email receiving
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed
Affected version:

Description

MailHandler.safe_receive has a rescue clause that seems to be intended to catch all exceptions and log it.

  def self.safe_receive(*args)
    receive(*args)
  rescue Exception => e
    logger.error "MailHandler: an unexpected error occurred when receiving email: #{e.message}" if logger
    return false
  end

However, the expression "logger.error" does not log any events because the variable logger is undefined. Although there is a method definition for "logger" at source:tags/4.0.0/app/models/mail_handler.rb#L77, you cannot call the method from MailHandler.safe_receive because MailHandler.safe_receive is a class method and MailHandler#logger is an instance method.

As a result, the expression logger.error in MailHandler#safe_receive never logs errors because the expression itself causes NameError. To avoid this, logger should be replaced with Rails.logger. The attached patch fixes this issue.


Files


Related issues

Related to Redmine - Patch #11497: Dry up logging in MailHandler classClosed

Actions
Has duplicate Redmine - Defect #28874: MailHandler does not log exceptions caughtClosed

Actions
Actions #1

Updated by Go MAEDA about 5 years ago

  • Target version set to 4.1.0

Setting the target version to 4.1.0.

Actions #2

Updated by Go MAEDA about 5 years ago

  • Has duplicate Defect #28874: MailHandler does not log exceptions caught added
Actions #3

Updated by Go MAEDA about 5 years ago

  • Related to Patch #11497: Dry up logging in MailHandler class added
Actions #4

Updated by Go MAEDA almost 5 years ago

  • Status changed from New to Resolved
  • Assignee set to Go MAEDA
  • Target version changed from 4.1.0 to 3.4.11
  • Resolution set to Fixed

Committed the fix.

Actions #5

Updated by Go MAEDA almost 5 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF