Skip to content

Commit 1e41572

Browse files
committed
Change to use dict so it doesn't force you to have Exceptionless references,
1 parent 4f63506 commit 1e41572

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

Source/Platforms/NLog/ExceptionlessClientExtensions.cs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,17 @@
99
namespace Exceptionless.NLog {
1010
public static class ExceptionlessClientExtensions {
1111
public static EventBuilder CreateFromLogEvent(this ExceptionlessClient client, LogEventInfo ev) {
12-
var contextData = ev.GetContextData();
12+
var contextData = new ContextData(ev.GetContextData());
1313

1414
if (ev.Exception != null)
1515
contextData.SetException(ev.Exception);
1616

1717
var builder = client.CreateEvent(contextData);
1818
if (ev.Exception == null) {
19-
builder.SetType(Event.KnownTypes.Log);
2019
builder.SetSource(ev.LoggerName);
2120
builder.SetProperty(Event.KnownDataKeys.Level, ev.Level.Name);
22-
} else {
23-
builder.SetType(Event.KnownTypes.Error);
2421
}
22+
2523
builder.Target.Date = ev.TimeStamp;
2624

2725
if (!String.IsNullOrWhiteSpace(ev.FormattedMessage))
@@ -67,6 +65,17 @@ public static LogBuilder MarkUnhandled(this LogBuilder builder, string submissio
6765
return builder;
6866
}
6967

68+
public static void MarkAsUnhandledError(this IDictionary<string, object> contextData) {
69+
contextData[IsUnhandledError] = true;
70+
}
71+
72+
public static void SetSubmissionMethod(this IDictionary<string, object> contextData, string submissionMethod) {
73+
contextData[SubmissionMethod] = submissionMethod;
74+
}
75+
76+
public const string IsUnhandledError = "@@_IsUnhandledError";
77+
public const string SubmissionMethod = "@@_SubmissionMethod";
78+
7079
public static List<string> GetTags(this LogEventInfo ev) {
7180
var tagList = new List<string>();
7281
if (!ev.Properties.ContainsKey("Tags"))
@@ -79,14 +88,14 @@ public static List<string> GetTags(this LogEventInfo ev) {
7988
return tagList;
8089
}
8190

82-
public static ContextData GetContextData(this LogEventInfo ev) {
83-
var contextData = new ContextData();
91+
public static IDictionary<string, object> GetContextData(this LogEventInfo ev) {
92+
IDictionary<string, object> contextData = new Dictionary<string, object>();
8493
if (!ev.Properties.ContainsKey("ContextData"))
8594
ev.Properties["ContextData"] = contextData;
8695

8796
if (ev.Properties.ContainsKey("ContextData")
88-
&& ev.Properties["ContextData"] is ContextData)
89-
contextData = (ContextData)ev.Properties["ContextData"];
97+
&& ev.Properties["ContextData"] is IDictionary<string, object>)
98+
contextData = (IDictionary<string, object>)ev.Properties["ContextData"];
9099

91100
return contextData;
92101
}

0 commit comments

Comments
 (0)