feat: set direct server debug level via console command

The `mobilewsdebug` console command can now be used to set the internal websocket logging level for both the API client and the direct server at the same time.
This commit is contained in:
Andrew Welker
2025-09-26 21:47:06 -05:00
parent bb694b4200
commit 7c90027578
2 changed files with 39 additions and 12 deletions

View File

@@ -1353,11 +1353,30 @@ namespace PepperDash.Essentials
{
Log =
{
Output = (data, s) =>
this.LogDebug(
"Message from websocket: {message}",
data
)
Output = (data, message) =>
{
switch (data.Level)
{
case LogLevel.Trace:
this.LogVerbose(data.Message);
break;
case LogLevel.Debug:
this.LogDebug(data.Message);
break;
case LogLevel.Info:
this.LogInformation(data.Message);
break;
case LogLevel.Warn:
this.LogWarning(data.Message);
break;
case LogLevel.Error:
this.LogError(data.Message);
break;
case LogLevel.Fatal:
this.LogFatal(data.Message);
break;
}
}
}
};
@@ -1401,13 +1420,13 @@ namespace PepperDash.Essentials
private void SetWebsocketDebugLevel(string cmdparameters)
{
if (CrestronEnvironment.ProgramCompatibility == eCrestronSeries.Series4)
{
this.LogInformation(
"Setting websocket log level not currently allowed on 4 series."
);
return; // Web socket log level not currently allowed in series4
}
// if (CrestronEnvironment.ProgramCompatibility == eCrestronSeries.Series4)
// {
// this.LogInformation(
// "Setting websocket log level not currently allowed on 4 series."
// );
// return; // Web socket log level not currently allowed in series4
// }
if (string.IsNullOrEmpty(cmdparameters))
{
@@ -1433,6 +1452,8 @@ namespace PepperDash.Essentials
_wsClient2.Log.Level = _wsLogLevel;
}
_directServer?.SetWebsocketLogLevel(_wsLogLevel);
CrestronConsole.ConsoleCommandResponse($"Websocket log level set to {debugLevel}");
}
catch