Skip to content

Commit 2fe5f4f

Browse files
committed
Minor refactoring to properly reset static properties
1 parent bd98efc commit 2fe5f4f

File tree

4 files changed

+40
-25
lines changed

4 files changed

+40
-25
lines changed

test/Serilog.Settings.Configuration.Tests/ConfigurationSettingsTests.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using Microsoft.Extensions.Configuration;
33
using Serilog.Core;
44
using Serilog.Events;
@@ -118,8 +118,8 @@ public void SinksAreConfigured()
118118
var log = ConfigFromJson(json)
119119
.CreateLogger();
120120

121-
DummyRollingFileSink.Emitted.Clear();
122-
DummyRollingFileAuditSink.Emitted.Clear();
121+
DummyRollingFileSink.Reset();
122+
DummyRollingFileAuditSink.Reset();
123123

124124
log.Write(Some.InformationEvent());
125125

@@ -143,8 +143,8 @@ public void AuditSinksAreConfigured()
143143
var log = ConfigFromJson(json)
144144
.CreateLogger();
145145

146-
DummyRollingFileSink.Emitted.Clear();
147-
DummyRollingFileAuditSink.Emitted.Clear();
146+
DummyRollingFileSink.Reset();
147+
DummyRollingFileAuditSink.Reset();
148148

149149
log.Write(Some.InformationEvent());
150150

@@ -438,7 +438,7 @@ public void SinkWithIConfigurationArguments()
438438
var log = ConfigFromJson(json)
439439
.CreateLogger();
440440

441-
DummyRollingFileSink.Emitted.Clear();
441+
DummyRollingFileSink.Reset();
442442

443443
log.Write(Some.InformationEvent());
444444

@@ -462,7 +462,7 @@ public void SinkWithConfigurationBindingArgument()
462462
var log = ConfigFromJson(json)
463463
.CreateLogger();
464464

465-
DummyRollingFileSink.Emitted.Clear();
465+
DummyRollingFileSink.Reset();
466466

467467
log.Write(Some.InformationEvent());
468468

@@ -486,7 +486,7 @@ public void SinkWithStringArrayArgument()
486486
var log = ConfigFromJson(json)
487487
.CreateLogger();
488488

489-
DummyRollingFileSink.Emitted.Clear();
489+
DummyRollingFileSink.Reset();
490490

491491
log.Write(Some.InformationEvent());
492492

@@ -510,7 +510,7 @@ public void SinkWithIntArrayArgument()
510510
var log = ConfigFromJson(json)
511511
.CreateLogger();
512512

513-
DummyRollingFileSink.Emitted.Clear();
513+
DummyRollingFileSink.Reset();
514514

515515
log.Write(Some.InformationEvent());
516516

@@ -534,7 +534,7 @@ public void CaseInsensitiveArgumentNameMatching()
534534
var log = ConfigFromJson(json)
535535
.CreateLogger();
536536

537-
DummyRollingFileSink.Emitted.Clear();
537+
DummyRollingFileSink.Reset();
538538

539539
log.Write(Some.InformationEvent());
540540

@@ -565,7 +565,7 @@ public void WriteToLoggerWithRestrictedToMinimumLevelIsSupported()
565565
var log = ConfigFromJson(json)
566566
.CreateLogger();
567567

568-
DummyRollingFileSink.Emitted.Clear();
568+
DummyRollingFileSink.Reset();
569569

570570
log.Write(Some.InformationEvent());
571571
log.Write(Some.WarningEvent());
@@ -598,9 +598,9 @@ public void WriteToSubLoggerWithLevelSwitchIsSupported()
598598
}";
599599

600600
var log = ConfigFromJson(json)
601-
.CreateLogger();
601+
.CreateLogger();
602602

603-
DummyRollingFileSink.Emitted.Clear();
603+
DummyRollingFileSink.Reset();
604604

605605
log.Write(Some.InformationEvent());
606606
log.Write(Some.WarningEvent());
@@ -771,7 +771,7 @@ public void DestructuringAsScalarIsAppliedWithShortTypeName()
771771
.WriteTo.Sink(new DelegatingSink(e => evt = e))
772772
.CreateLogger();
773773

774-
log.Information("Destructuring as scalar {@Scalarized}", new Version(2,3));
774+
log.Information("Destructuring as scalar {@Scalarized}", new Version(2, 3));
775775
var prop = evt.Properties["Scalarized"];
776776

777777
Assert.IsType<ScalarValue>(prop);
@@ -795,7 +795,7 @@ public void DestructuringAsScalarIsAppliedWithAssemblyQualifiedName()
795795
.WriteTo.Sink(new DelegatingSink(e => evt = e))
796796
.CreateLogger();
797797

798-
log.Information("Destructuring as scalar {@Scalarized}", new Version(2,3));
798+
log.Information("Destructuring as scalar {@Scalarized}", new Version(2, 3));
799799
var prop = evt.Properties["Scalarized"];
800800

801801
Assert.IsType<ScalarValue>(prop);

test/TestDummies/DummyRollingFileAuditSink.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,18 @@ namespace TestDummies
88
public class DummyRollingFileAuditSink : ILogEventSink
99
{
1010
[ThreadStatic]
11-
// ReSharper disable ThreadStaticFieldHasInitializer
12-
public static List<LogEvent> Emitted = new List<LogEvent>();
13-
// ReSharper restore ThreadStaticFieldHasInitializer
11+
static List<LogEvent> _emitted;
12+
13+
public static List<LogEvent> Emitted => _emitted ?? (_emitted = new List<LogEvent>());
1414

1515
public void Emit(LogEvent logEvent)
1616
{
1717
Emitted.Add(logEvent);
1818
}
19+
20+
public static void Reset()
21+
{
22+
_emitted = null;
23+
}
1924
}
2025
}

test/TestDummies/DummyRollingFileSink.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,18 @@ namespace TestDummies
88
public class DummyRollingFileSink : ILogEventSink
99
{
1010
[ThreadStatic]
11-
// ReSharper disable ThreadStaticFieldHasInitializer
12-
public static List<LogEvent> Emitted = new List<LogEvent>();
13-
// ReSharper restore ThreadStaticFieldHasInitializer
11+
static List<LogEvent> _emitted;
12+
13+
public static List<LogEvent> Emitted => _emitted ?? (_emitted = new List<LogEvent>());
1414

1515
public void Emit(LogEvent logEvent)
1616
{
1717
Emitted.Add(logEvent);
1818
}
19+
20+
public static void Reset()
21+
{
22+
_emitted = null;
23+
}
1924
}
2025
}

test/TestDummies/DummyWrappingSink.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ namespace TestDummies
88
public class DummyWrappingSink : ILogEventSink
99
{
1010
[ThreadStatic]
11-
// ReSharper disable ThreadStaticFieldHasInitializer
12-
public static List<LogEvent> Emitted = new List<LogEvent>();
13-
// ReSharper restore ThreadStaticFieldHasInitializer
11+
static List<LogEvent> _emitted;
1412

15-
private readonly ILogEventSink _sink;
13+
public static List<LogEvent> Emitted => _emitted ?? (_emitted = new List<LogEvent>());
14+
15+
readonly ILogEventSink _sink;
1616

1717
public DummyWrappingSink(ILogEventSink sink)
1818
{
@@ -24,5 +24,10 @@ public void Emit(LogEvent logEvent)
2424
Emitted.Add(logEvent);
2525
_sink.Emit(logEvent);
2626
}
27+
28+
public static void Reset()
29+
{
30+
_emitted = null;
31+
}
2732
}
2833
}

0 commit comments

Comments
 (0)