Merge pull request #7097 from Icinga/bugfix/disconnect-log-spam

JsonRpcConnection: reduce log spam on disconnect
This commit is contained in:
Michael Friedrich 2019-04-09 16:57:31 +02:00 committed by GitHub
commit 2b3511d8a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 1 deletions

View File

@ -18,7 +18,9 @@
#include <utility>
#include <boost/asio/deadline_timer.hpp>
#include <boost/asio/spawn.hpp>
#include <boost/asio/ssl/error.hpp>
#include <boost/date_time/posix_time/posix_time_duration.hpp>
#include <boost/system/system_error.hpp>
#include <boost/thread/once.hpp>
using namespace icinga;
@ -61,7 +63,17 @@ void JsonRpcConnection::HandleIncomingMessages(boost::asio::yield_context yc)
message = JsonRpc::ReadMessage(m_Stream, yc, m_Endpoint ? -1 : 1024 * 1024);
} catch (const std::exception& ex) {
if (!m_ShuttingDown) {
Log(LogWarning, "JsonRpcConnection")
auto logLevelOnReadError (LogWarning);
{
auto boostError (dynamic_cast<const boost::system::system_error*>(&ex));
if (boostError && boostError->code().category() == boost::asio::error::get_ssl_category()) {
logLevelOnReadError = LogNotice;
}
}
Log(logLevelOnReadError, "JsonRpcConnection")
<< "Error while reading JSON-RPC message for identity '" << m_Identity
<< "': " << DiagnosticInformation(ex);
}