public static void Assert(Exception ex, bool reportIt = true, [CallerFilePath] string filePath = "", [CallerLineNumber] int lineNumber = 0, [CallerMemberNameAttribute] string method = "")
{
if (LogLevel > eTraceType.Critical)
return;
var stack = ex?.StackTrace;
var failure = new YIncident() { IsAssert = true };
failure.StackTrace = ex != null ? new StackTrace(ex, true) : null;
while (ex != null)
{
failure.Messages.Add(ex.Message);
ex = ex.InnerException;
}
var msg = "Assert failed: " + Environment.NewLine
+ string.Join(Environment.NewLine, failure.Messages) + Environment.NewLine
+ "StackTrace:" + stack;
Debug.Assert(false, msg);
TraceError(msg, filePath: filePath, lineNumber: lineNumber, method: method);
if (reportIt)
ThrowYIncident?.Invoke(failure);
}