Skip to content

Commit 41b08f3

Browse files
committed
Added a check to ensure that configuration isn't locked
1 parent 90059f0 commit 41b08f3

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

Source/Platforms/NLog/ExceptionlessTarget.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ protected override void InitializeTarget() {
3232
}
3333

3434
protected override void Write(AsyncLogEventInfo info) {
35+
if (!_client.Configuration.IsValid)
36+
return;
37+
3538
var builder = _client.CreateFromLogEvent(info.LogEvent);
3639
foreach (var field in Fields) {
3740
var renderedField = field.Layout.Render(info.LogEvent);

Source/Shared/Configuration/ExceptionlessConfiguration.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ internal void LockConfig() {
4242
return;
4343

4444
_configLocked = true;
45-
_validationResult = Validate();
46-
Enabled = Enabled && _validationResult.IsValid;
45+
Enabled = Enabled && IsValid;
4746
}
4847

4948
/// <summary>
@@ -58,6 +57,7 @@ public string ServerUrl {
5857
if (_configLocked)
5958
throw new ArgumentException("ServerUrl can't be changed after the client has been initialized.");
6059

60+
_validationResult = null;
6161
_serverUrl = value;
6262
}
6363
}
@@ -79,6 +79,7 @@ public string ApiKey {
7979
if (_configLocked)
8080
throw new ArgumentException("ApiKey can't be changed after the client has been initialized.");
8181

82+
_validationResult = null;
8283
_apiKey = value;
8384
}
8485
}
@@ -230,6 +231,15 @@ public void RemoveEnrichment(string key) {
230231

231232
#endregion
232233

234+
public bool IsValid {
235+
get {
236+
if (_validationResult == null)
237+
_validationResult = Validate();
238+
239+
return _validationResult.IsValid;
240+
}
241+
}
242+
233243
public ValidationResult Validate() {
234244
if (_validationResult != null)
235245
return _validationResult;

Source/Shared/ExceptionlessClient.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public bool UpdateUserEmailAndDescription(string referenceId, string email, stri
6969

7070
if (!Configuration.IsLocked) {
7171
Configuration.LockConfig();
72-
if (!Configuration.Validate().IsValid) {
72+
if (!Configuration.IsValid) {
7373
_log.Value.FormattedError(typeof(ExceptionlessClient), "Disabling client due to invalid configuration: {0}", String.Join(", ", Configuration.Validate().Messages));
7474
return false;
7575
}
@@ -98,7 +98,7 @@ public Task ProcessQueueAsync() {
9898

9999
if (!Configuration.IsLocked) {
100100
Configuration.LockConfig();
101-
if (!Configuration.Validate().IsValid) {
101+
if (!Configuration.IsValid) {
102102
_log.Value.FormattedError(typeof(ExceptionlessClient), "Disabling client due to invalid configuration: {0}", String.Join(", ", Configuration.Validate().Messages));
103103
return Threading.Tasks.TaskExtensions.FromResult(0);
104104
}
@@ -133,7 +133,7 @@ public void SubmitEvent(Event ev, ContextData enrichmentContextData = null) {
133133

134134
if (!Configuration.IsLocked) {
135135
Configuration.LockConfig();
136-
if (!Configuration.Validate().IsValid) {
136+
if (!Configuration.IsValid) {
137137
_log.Value.FormattedError(typeof(ExceptionlessClient), "Disabling client due to invalid configuration: {0}", String.Join(", ", Configuration.Validate().Messages));
138138
return;
139139
}

0 commit comments

Comments
 (0)