From aafc24a96669d51cb5e3ac9968b5690e8ed73d78 Mon Sep 17 00:00:00 2001 From: Danny Baumann Date: Mon, 7 Feb 2022 14:36:45 +0100 Subject: [PATCH] Conditionally reduce severity of roster reload error logging If the roster feature is not supported by the server, there's no need to log this at SEVERE log level. --- .../main/java/org/jivesoftware/smack/roster/Roster.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java index 3d3198315..500894f07 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java @@ -469,11 +469,14 @@ public final class Roster extends Manager { @Override public void processException(Exception exception) { rosterState = RosterState.uninitialized; - Level logLevel; + Level logLevel = Level.SEVERE; if (exception instanceof NotConnectedException) { logLevel = Level.FINE; - } else { - logLevel = Level.SEVERE; + } else if (exception instanceof XMPPErrorException) { + Condition condition = ((XMPPErrorException) exception).getStanzaError().getCondition(); + if (condition == Condition.feature_not_implemented || condition == Condition.service_unavailable) { + logLevel = Level.FINE; + } } LOGGER.log(logLevel, "Exception reloading roster", exception); for (RosterLoadedListener listener : rosterLoadedListeners) {