Skip to content

Commit c5bad0c

Browse files
authored
Merge pull request #152 from sungam3r/small-refactor
Small fixes
2 parents 015d4f7 + 54ff29a commit c5bad0c

File tree

5 files changed

+11
-13
lines changed

5 files changed

+11
-13
lines changed

src/Serilog.Extensions.Logging/Extensions/Logging/LoggerProviderCollection.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ namespace Serilog.Extensions.Logging
2626
/// </summary>
2727
public class LoggerProviderCollection : IDisposable
2828
{
29-
volatile ILoggerProvider[] _providers = new ILoggerProvider[0];
29+
volatile ILoggerProvider[] _providers = Array.Empty<ILoggerProvider>();
3030

3131
/// <summary>
3232
/// Add <paramref name="provider"/> to the collection.
@@ -36,16 +36,16 @@ public void AddProvider(ILoggerProvider provider)
3636
{
3737
if (provider == null) throw new ArgumentNullException(nameof(provider));
3838

39-
var existing = _providers;
40-
var added = existing.Concat(new[] {provider}).ToArray();
39+
ILoggerProvider[] existing, added;
4140

42-
#pragma warning disable 420 // ref to a volatile field
43-
while (Interlocked.CompareExchange(ref _providers, added, existing) != existing)
44-
#pragma warning restore 420
41+
do
4542
{
4643
existing = _providers;
4744
added = existing.Concat(new[] { provider }).ToArray();
4845
}
46+
#pragma warning disable 420 // ref to a volatile field
47+
while (Interlocked.CompareExchange(ref _providers, added, existing) != existing);
48+
#pragma warning restore 420
4949
}
5050

5151
/// <summary>

src/Serilog.Extensions.Logging/Extensions/Logging/SerilogLoggerProvider.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
6969
List<LogEventPropertyValue> scopeItems = null;
7070
for (var scope = CurrentScope; scope != null; scope = scope.Parent)
7171
{
72-
LogEventPropertyValue scopeItem;
73-
scope.EnrichAndCreateScopeItem(logEvent, propertyFactory, out scopeItem);
72+
scope.EnrichAndCreateScopeItem(logEvent, propertyFactory, out LogEventPropertyValue scopeItem);
7473

7574
if (scopeItem != null)
7675
{

src/Serilog.Extensions.Logging/Extensions/Logging/SerilogLoggerScope.cs

+2-3
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@ public void EnrichAndCreateScopeItem(LogEvent logEvent, ILogEventPropertyFactory
5757
return;
5858
}
5959

60-
var stateProperties = _state as IEnumerable<KeyValuePair<string, object>>;
61-
if (stateProperties != null)
60+
if (_state is IEnumerable<KeyValuePair<string, object>> stateProperties)
6261
{
6362
scopeItem = null; // Unless it's `FormattedLogValues`, these are treated as property bags rather than scope items.
6463

@@ -78,7 +77,7 @@ public void EnrichAndCreateScopeItem(LogEvent logEvent, ILogEventPropertyFactory
7877
key = key.Substring(1);
7978
destructureObject = true;
8079
}
81-
80+
8281
var property = propertyFactory.CreateProperty(key, stateProperty.Value, destructureObject);
8382
logEvent.AddPropertyIfAbsent(property);
8483
}

src/Serilog.Extensions.Logging/SerilogLoggerFactoryExtensions.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public static class SerilogLoggerFactoryExtensions
2020
/// <param name="dispose">When true, dispose <paramref name="logger"/> when the framework disposes the provider. If the
2121
/// logger is not specified but <paramref name="dispose"/> is true, the <see cref="Log.CloseAndFlush()"/> method will be
2222
/// called on the static <see cref="Log"/> class instead.</param>
23-
/// <returns>The logger factory.</returns>
23+
/// <returns>Reference to the supplied <paramref name="factory"/>.</returns>
2424
public static ILoggerFactory AddSerilog(
2525
this ILoggerFactory factory,
2626
ILogger logger = null,

src/Serilog.Extensions.Logging/SerilogLoggingBuilderExtensions.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public static class SerilogLoggingBuilderExtensions
3232
/// <param name="dispose">When true, dispose <paramref name="logger"/> when the framework disposes the provider. If the
3333
/// logger is not specified but <paramref name="dispose"/> is true, the <see cref="Log.CloseAndFlush()"/> method will be
3434
/// called on the static <see cref="Log"/> class instead.</param>
35-
/// <returns>The logger factory.</returns>
35+
/// <returns>Reference to the supplied <paramref name="builder"/>.</returns>
3636
public static ILoggingBuilder AddSerilog(this ILoggingBuilder builder, ILogger logger = null, bool dispose = false)
3737
{
3838
if (builder == null) throw new ArgumentNullException(nameof(builder));

0 commit comments

Comments
 (0)