Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion src/base/src/AXOpen.Base.Abstractions/App/AxoApplication.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Security.Principal;
using System.Text;
using System.Threading.Tasks;
using AXOpen.Logging;
using AXSharp.Connector;
Expand All @@ -17,19 +18,25 @@ public void AddDiagnosticsFlag(ITwinPrimitive diagnosticsFlag)
DiagnosticsFlags.Add(diagnosticsFlag);
}

public async Task RunDiagnostics()
public string DiagMessages { get; private set; }

public async Task<string> RunDiagnostics()
{
var diagIdentity = new GenericIdentity("Diagnostics");
var diags = new StringBuilder();
AxoApplication.Current.Logger.Information($"System diagnostics requested.", diagIdentity);
await DiagnosticsFlags.FirstOrDefault()?.GetParent()?.GetConnector().ReadBatchAsync(DiagnosticsFlags)!;
foreach (dynamic flag in DiagnosticsFlags)
{
if (flag.LastValue > 0)
{
diags.AppendLine($"{flag.Symbol} is in error state code '{flag.LastValue}'.");
AxoApplication.Current.Logger.Fatal($"{flag.Symbol} is in error state code '{flag.LastValue}'.", diagIdentity);
}
}
AxoApplication.Current.Logger.Information($"System diagnostics done.", diagIdentity);
DiagMessages = diags.ToString();
return DiagMessages;
}
}

Expand Down
Loading