diff --git a/src/user.cpp b/src/user.cpp index a142fefcf4c8685845ae8e8a57178dbc57f228ac..442a34a16b48a2eaad2fdfd4b1403fce03c21d89 100644 --- a/src/user.cpp +++ b/src/user.cpp @@ -320,6 +320,21 @@ void User::handlePresence(Swift::Presence::ref presence, bool forceJoin) { if (presence->getType() == Swift::Presence::Unavailable) { m_conversationManager->removeJID(presence->getFrom()); + + std::string presences; + std::vector ps = m_presenceOracle->getAllPresence(m_jid); + BOOST_FOREACH(Swift::Presence::ref p, ps) { + if (p != presence) { + presences += p->getFrom().toString() + " "; + } + }; + + if (!presences.empty()) { + LOG4CXX_INFO(logger, m_jid.toString() << ": User is still connected from following clients: " << presences); + } + else { + LOG4CXX_INFO(logger, m_jid.toString() << ": Last client disconnected"); + } }