Skip to content

Commit dac471f

Browse files
authored
Fixes #238: Add ability to exclude Modules from getting sent with error reports (#302)
* Fixes #238: Add ability to exclude Modules from getting sent with error reports * Fixed test
1 parent 88747ff commit dac471f

File tree

5 files changed

+12
-3
lines changed

5 files changed

+12
-3
lines changed

src/Exceptionless/Configuration/ExceptionlessConfiguration.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public ExceptionlessConfiguration(IDependencyResolver resolver) {
5454
DefaultData = new DataDictionary();
5555
Settings = new SettingsDictionary();
5656
IncludePrivateInformation = true;
57+
IncludeModules = true;
5758

5859
_resolver = resolver;
5960

@@ -267,6 +268,11 @@ public bool IncludePrivateInformation {
267268
/// NOTE: DataExclusions are applied to all Query String keys when enabled.
268269
/// </summary>
269270
public bool IncludeQueryString { get; set; }
271+
272+
/// <summary>
273+
/// Gets or sets a value indicating whether to include module information.
274+
/// </summary>
275+
public bool IncludeModules { get; set; }
270276

271277
/// <summary>
272278
/// Gets or sets a value indicating whether to automatically send session start, session heartbeats and session end events.

src/Exceptionless/Extensions/ToErrorModelExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ private static Error ToErrorModelInternal(Exception exception, ExceptionlessClie
4848
Type = typeName
4949
};
5050

51-
if (!isInner)
51+
if (!isInner && client.Configuration.IncludeModules)
5252
error.Modules = GetLoadedModules(log);
5353

5454
error.PopulateStackTrace(error, exception, log);

src/Exceptionless/Extensions/ToSimpleErrorModelExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ private static SimpleError ToSimpleErrorModelInternal(this Exception exception,
4343
StackTrace = exception.Demystify().StackTrace
4444
};
4545

46-
if (!isInner)
46+
if (!isInner && client.Configuration.IncludeModules)
4747
error.Modules = ToErrorModelExtensions.GetLoadedModules(log);
4848

4949
var exclusions = _exceptionExclusions.Union(client.Configuration.DataExclusions).ToList();

src/Exceptionless/Storage/InMemoryObjectStorage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public bool SaveObject<T>(string path, T value) where T : class {
5353
}, (object)value);
5454

5555
if (_storage.Count > MaxObjects)
56-
_storage.Remove(_storage.OrderByDescending(kvp => kvp.Value.Item1.Created).First().Key);
56+
_storage.Remove(_storage.OrderBy(kvp => kvp.Value.Item1.Created).First().Key);
5757
}
5858

5959
return true;

test/Exceptionless.Tests/Configuration/ConfigurationTests.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public void CanConfigureApiKeyFromClientConstructor() {
3333
Assert.True(client.Configuration.IncludeUserName);
3434
Assert.True(client.Configuration.IncludeMachineName);
3535
Assert.True(client.Configuration.IncludeIpAddress);
36+
Assert.True(client.Configuration.IncludeHeaders);
3637
Assert.True(client.Configuration.IncludeCookies);
3738
Assert.True(client.Configuration.IncludePostData);
3839
Assert.True(client.Configuration.IncludeQueryString);
@@ -42,6 +43,7 @@ public void CanConfigureApiKeyFromClientConstructor() {
4243
Assert.False(client.Configuration.IncludeUserName);
4344
Assert.False(client.Configuration.IncludeMachineName);
4445
Assert.False(client.Configuration.IncludeIpAddress);
46+
Assert.False(client.Configuration.IncludeHeaders);
4547
Assert.False(client.Configuration.IncludeCookies);
4648
Assert.False(client.Configuration.IncludePostData);
4749
Assert.False(client.Configuration.IncludeQueryString);
@@ -51,6 +53,7 @@ public void CanConfigureApiKeyFromClientConstructor() {
5153
Assert.False(client.Configuration.IncludeUserName);
5254
Assert.True(client.Configuration.IncludeMachineName);
5355
Assert.False(client.Configuration.IncludeIpAddress);
56+
Assert.False(client.Configuration.IncludeHeaders);
5457
Assert.False(client.Configuration.IncludeCookies);
5558
Assert.False(client.Configuration.IncludePostData);
5659
Assert.False(client.Configuration.IncludeQueryString);

0 commit comments

Comments
 (0)