Files
server/src/Admin/Models/LogModel.cs

57 lines
1.8 KiB
C#
Raw Normal View History

2018-03-30 17:35:07 -04:00
using System.Collections.Generic;
2018-03-29 23:30:56 -04:00
using Microsoft.Azure.Documents;
2018-03-30 17:35:07 -04:00
using Newtonsoft.Json.Linq;
2018-03-29 23:30:56 -04:00
namespace Bit.Admin.Models
{
public class LogModel : Resource
{
public long EventIdHash { get; set; }
2018-03-30 08:38:15 -04:00
public string Level { get; set; }
2018-03-29 23:30:56 -04:00
public string Message { get; set; }
public string MessageTruncated => Message.Length > 200 ? $"{Message.Substring(0, 200)}..." : Message;
public string MessageTemplate { get; set; }
2018-03-29 23:46:27 -04:00
public IDictionary<string, object> Properties { get; set; }
2018-03-30 00:01:53 -04:00
public string Project => Properties?.ContainsKey("Project") ?? false ? Properties["Project"].ToString() : null;
2018-03-30 17:35:07 -04:00
}
public class LogDetailsModel : LogModel
{
public JObject Exception { get; set; }
2018-03-29 23:30:56 -04:00
2018-03-30 17:35:07 -04:00
public string ExceptionToString(JObject e)
2018-03-29 23:30:56 -04:00
{
2018-03-30 17:35:07 -04:00
if(e == null)
{
return null;
}
var val = string.Empty;
if(e["Message"] != null && e["Message"].ToObject<string>() != null)
{
val += "Message:\n";
val += e["Message"] + "\n";
}
if(e["StackTrace"] != null && e["StackTrace"].ToObject<string>() != null)
{
2018-03-30 23:15:59 -04:00
val += "\nStack Trace:\n";
2018-03-30 17:35:07 -04:00
val += e["StackTrace"];
}
else if(e["StackTraceString"] != null && e["StackTraceString"].ToObject<string>() != null)
{
2018-03-30 23:15:59 -04:00
val += "\nStack Trace String:\n";
2018-03-30 17:35:07 -04:00
val += e["StackTraceString"];
}
if(e["InnerException"] != null && e["InnerException"].ToObject<JObject>() != null)
{
2018-03-30 23:13:32 -04:00
val += "\n\n=== Inner Exception ===\n\n";
2018-03-30 17:35:07 -04:00
val += ExceptionToString(e["InnerException"].ToObject<JObject>());
}
2018-03-29 23:30:56 -04:00
2018-03-30 17:35:07 -04:00
return val;
2018-03-29 23:30:56 -04:00
}
}
}