Skip to content

Commit 81a7cd7

Browse files
committed
log exceptions correctly
1 parent 11ae361 commit 81a7cd7

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

lib/rails_semantic_logger/action_mailer/log_subscriber.rb

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,28 @@ module RailsSemanticLogger
55
module ActionMailer
66
class LogSubscriber < ::ActiveSupport::LogSubscriber
77
def deliver(event)
8+
ex = event.payload[:exception_object]
89
message_id = event.payload[:message_id]
910
duration = event.duration.round(1)
10-
message = begin
11-
if event.payload[:perform_deliveries]
12-
"Delivered mail #{message_id} (#{duration}ms)"
13-
else
14-
"Skipped delivery of mail #{message_id} as `perform_deliveries` is false"
11+
if ex
12+
log_with_formatter event: event, log_duration: true, level: :error do |fmt|
13+
{
14+
message: "Error delivering mail #{message_id} (#{duration}ms)",
15+
exception: ex
16+
}
17+
end
18+
else
19+
message = begin
20+
if event.payload[:perform_deliveries]
21+
"Delivered mail #{message_id} (#{duration}ms)"
22+
else
23+
"Skipped delivery of mail #{message_id} as `perform_deliveries` is false"
24+
end
25+
end
26+
log_with_formatter event: event, log_duration: true do |fmt|
27+
{ message: message }
1528
end
1629
end
17-
log_with_formatter event: event do |fmt|
18-
{ message: message }
19-
end
2030
end
2131

2232
# An email was generated.

0 commit comments

Comments
 (0)