Trace errors that cause a consumer thread to exit

Log more details about the cause of the premature exit
of the Kafka consumer thread.

This helps Gerrit admininstrators to understand the root
cause of a problem where the Kafka consumer thread ends
prematurely and thus Gerrit is unable to consume message
from one or more topics.

Bug: Issue 12463
Change-Id: I968263b85ae8c8a7860fe41231caf4cc6e61c668
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/subscribe/KafkaEventSubscriber.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/subscribe/KafkaEventSubscriber.java
index d925348..0e6a353 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/kafka/subscribe/KafkaEventSubscriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/kafka/subscribe/KafkaEventSubscriber.java
@@ -130,10 +130,13 @@
         }
       } catch (WakeupException e) {
         // Ignore exception if closing
-        if (!closed.get()) throw e;
+        if (!closed.get()) {
+          logger.atSevere().withCause(e).log("Consumer loop of topic %s interrupted", topic);
+        }
       } catch (Exception e) {
         subscriberMetrics.incrementSubscriberFailedToPollMessages();
-        throw e;
+        logger.atSevere().withCause(e).log(
+            "Existing consumer loop of topic %s because of a non-recoverable exception", topic);
       } finally {
         consumer.close();
       }