Reduces error log messages from SSH client on basic disconnects

This commit is contained in:
Alex Johnson
2022-07-07 10:51:37 -04:00
parent 095e6c8d79
commit f135029ad6
2 changed files with 18 additions and 7 deletions

View File

@@ -66,6 +66,7 @@ namespace PepperDash.Core
}
private bool IsConnecting = false;
private bool DisconnectLogged = false;
/// <summary>
/// S+ helper for IsConnected
@@ -251,24 +252,28 @@ namespace PepperDash.Core
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Connected");
ClientStatus = SocketStatus.SOCKET_STATUS_CONNECTED;
IsConnecting = false;
DisconnectLogged = false;
return; // Success will not pass here
}
catch (SshConnectionException e)
{
var ie = e.InnerException; // The details are inside!!
var errorLogLevel = DisconnectLogged == true ? Debug.ErrorLogLevel.None : Debug.ErrorLogLevel.Error;
if (ie is SocketException)
Debug.Console(1, this, Debug.ErrorLogLevel.Error, "'{0}' CONNECTION failure: Cannot reach host, ({1})", Key, ie.Message);
Debug.Console(1, this, errorLogLevel, "'{0}' CONNECTION failure: Cannot reach host, ({1})", Key, ie.Message);
else if (ie is System.Net.Sockets.SocketException)
Debug.Console(1, this, Debug.ErrorLogLevel.Error, "'{0}' Connection failure: Cannot reach host '{1}' on port {2}, ({3})",
Debug.Console(1, this, errorLogLevel, "'{0}' Connection failure: Cannot reach host '{1}' on port {2}, ({3})",
Key, Hostname, Port, ie.GetType());
else if (ie is SshAuthenticationException)
{
Debug.Console(1, this, Debug.ErrorLogLevel.Error, "Authentication failure for username '{0}', ({1})",
Debug.Console(1, this, errorLogLevel, "Authentication failure for username '{0}', ({1})",
Username, ie.Message);
}
else
Debug.Console(1, this, Debug.ErrorLogLevel.Error, "Error on connect:\r({0})", e);
Debug.Console(1, this, errorLogLevel, "Error on connect:\r({0})", e);
DisconnectLogged = true;
ClientStatus = SocketStatus.SOCKET_STATUS_CONNECT_FAILED;
HandleConnectionFailure();
}
@@ -335,7 +340,7 @@ namespace PepperDash.Core
{
Connect();
}, AutoReconnectIntervalMs);
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Attempting connection in {0} seconds",
Debug.Console(1, this, "Attempting connection in {0} seconds",
(float) (AutoReconnectIntervalMs/1000));
}
else

View File

@@ -389,7 +389,10 @@ namespace PepperDash.Core
string format, params object[] items)
{
var str = string.Format("[{0}] {1}", dev.Key, string.Format(format, items));
LogError(errorLogLevel, str);
if (errorLogLevel != ErrorLogLevel.None)
{
LogError(errorLogLevel, str);
}
if (Level >= level)
{
Console(level, str);
@@ -403,7 +406,10 @@ namespace PepperDash.Core
string format, params object[] items)
{
var str = string.Format(format, items);
LogError(errorLogLevel, str);
if (errorLogLevel != ErrorLogLevel.None)
{
LogError(errorLogLevel, str);
}
if (Level >= level)
{
Console(level, str);