Skip to content

Commit 9fca46b

Browse files
committed
Re-enable .NET 4.5.1 target
1 parent 126b395 commit 9fca46b

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

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

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@
33

44
using System;
55
using System.Collections.Generic;
6+
#if ASYNCLOCAL
67
using System.Threading;
8+
#else
9+
using System.Runtime.Remoting;
10+
using System.Runtime.Remoting.Messaging;
11+
#endif
712
using Microsoft.Extensions.Logging;
813
using Serilog.Core;
914
using Serilog.Events;
@@ -15,8 +20,6 @@ class SerilogLoggerProvider : ILoggerProvider, ILogEventEnricher
1520
{
1621
public const string OriginalFormatPropertyName = "{OriginalFormat}";
1722

18-
readonly AsyncLocal<SerilogLoggerScope> _value = new AsyncLocal<SerilogLoggerScope>();
19-
2023
// May be null; if it is, Log.Logger will be lazily used
2124
readonly ILogger _logger;
2225

@@ -55,6 +58,9 @@ public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
5558
}
5659
}
5760

61+
#if ASYNCLOCAL
62+
readonly AsyncLocal<SerilogLoggerScope> _value = new AsyncLocal<SerilogLoggerScope>();
63+
5864
public SerilogLoggerScope CurrentScope
5965
{
6066
get
@@ -66,6 +72,22 @@ public SerilogLoggerScope CurrentScope
6672
_value.Value = value;
6773
}
6874
}
75+
#else
76+
readonly string _currentScopeKey = nameof(SerilogLoggerScope) + "#" + Guid.NewGuid().ToString("n");
77+
78+
public SerilogLoggerScope CurrentScope
79+
{
80+
get
81+
{
82+
var objectHandle = CallContext.LogicalGetData(_currentScopeKey) as ObjectHandle;
83+
return objectHandle?.Unwrap() as SerilogLoggerScope;
84+
}
85+
set
86+
{
87+
CallContext.LogicalSetData(_currentScopeKey, new ObjectHandle(value));
88+
}
89+
}
90+
#endif
6991

7092
public void Dispose() { }
7193
}

src/Serilog.Extensions.Logging/project.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,15 @@
1818
"warningsAsErrors": true
1919
},
2020
"frameworks": {
21+
"net4.5": {
22+
"frameworkAssemblies": {
23+
"System.Runtime": ""
24+
}
25+
},
2126
"netstandard1.3": {
27+
"buildOptions": {
28+
"define": ["ASYNCLOCAL"]
29+
},
2230
"dependencies": {
2331
"System.Threading": "4.0.11-rc2-24027"
2432
}

0 commit comments

Comments
 (0)