2022-02-14 01:51:37 +01:00
|
|
|
namespace decePubClient.Models
|
|
|
|
|
{
|
|
|
|
|
public class ClientLogs
|
|
|
|
|
{
|
|
|
|
|
public long Id { get; set; }
|
|
|
|
|
public string Where { get; set; }
|
|
|
|
|
public string WarningMessage { get; set; }
|
|
|
|
|
public ClientLogException Exception { get; set; }
|
|
|
|
|
public DateTime TimeStamp { get; set; } = DateTime.Now;
|
2026-10-03 15:26:21 +02:00
|
|
|
/// <summary>The entry as HTML for a log viewer: the warning text, or the exception's details.</summary>
|
2022-02-14 01:51:37 +01:00
|
|
|
public string ErrorMessage()
|
|
|
|
|
{
|
2026-10-03 15:26:21 +02:00
|
|
|
if (Exception is null)
|
|
|
|
|
return WarningMessage;
|
|
|
|
|
|
|
|
|
|
var details = @$"<b>Type</b>: {Exception.Type ?? "N/A"} <b>HelpLink</b>: {Exception.HelpLink ?? "N/A"} <b>HResult</b>: {Exception.HResult ?? "N/A"}<br>
|
2022-02-14 01:51:37 +01:00
|
|
|
<b>Source</b>: {Exception.Source ?? "N/A"} <b>StackTrace</b>: {Exception.StackTrace ?? "N/A"} <b>MemberName</b>: {Exception.TargetSiteName ?? "N/A"}<br>
|
|
|
|
|
<b>Message</b>: {Exception.Message ?? "N/A"}";
|
2026-10-03 15:26:21 +02:00
|
|
|
if (Exception.InnerExceptionMessage is null)
|
|
|
|
|
return details;
|
|
|
|
|
|
|
|
|
|
return $"{details}<br>\n<b>InnerExceptionMessage</b>:{Exception.InnerExceptionMessage}";
|
2022-02-14 01:51:37 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class ClientLogException
|
|
|
|
|
{
|
|
|
|
|
public string Type { get; set; }
|
|
|
|
|
public string HelpLink { get; set; }
|
|
|
|
|
public string HResult { get; set; }
|
|
|
|
|
public string Source { get; set; }
|
|
|
|
|
public string StackTrace { get; set; }
|
|
|
|
|
public string TargetSiteName { get; set; }
|
|
|
|
|
public string Message { get; set; }
|
|
|
|
|
public string InnerExceptionMessage { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|