diff --git a/.travis.yml b/.travis.yml
index d70d01d..f524569 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,7 @@ matrix:
- os: linux
dist: trusty
sudo: required
- dotnet: 2.1.4
+ dotnet: 3.1.101
group: edge
script:
- - ./build.sh
\ No newline at end of file
+ - ./build.sh
diff --git a/Build.ps1 b/Build.ps1
index 4830b07..e9835f5 100644
--- a/Build.ps1
+++ b/Build.ps1
@@ -1,35 +1,35 @@
-echo "build: Build started"
+Write-Output "build: Build started"
Push-Location $PSScriptRoot
if(Test-Path .\artifacts) {
- echo "build: Cleaning .\artifacts"
+ Write-Output "build: Cleaning .\artifacts"
Remove-Item .\artifacts -Force -Recurse
}
& dotnet restore --no-cache
-$branch = @{ $true = $env:APPVEYOR_REPO_BRANCH; $false = $(git symbolic-ref --short -q HEAD) }[$env:APPVEYOR_REPO_BRANCH -ne $NULL];
-$revision = @{ $true = "{0:00000}" -f [convert]::ToInt32("0" + $env:APPVEYOR_BUILD_NUMBER, 10); $false = "local" }[$env:APPVEYOR_BUILD_NUMBER -ne $NULL];
+$branch = @{ $true = $env:APPVEYOR_REPO_BRANCH; $false = $(git symbolic-ref --short -q HEAD) }[$null -ne $env:APPVEYOR_REPO_BRANCH ];
+$revision = @{ $true = "{0:00000}" -f [convert]::ToInt32("0" + $env:APPVEYOR_BUILD_NUMBER, 10); $false = "local" }[$null -ne $env:APPVEYOR_BUILD_NUMBER];
$suffix = @{ $true = ""; $false = "$($branch.Substring(0, [math]::Min(10,$branch.Length)))-$revision"}[$branch -eq "master" -and $revision -ne "local"]
-echo "build: Version suffix is $suffix"
+Write-Output "build: Version suffix is $suffix"
-foreach ($src in ls src/*) {
+foreach ($src in Get-ChildItem "src/*") {
Push-Location $src
- echo "build: Packaging project in $src"
+ Write-Output "build: Packaging project in $src"
& dotnet pack -c Release -o ..\..\artifacts --version-suffix=$suffix --include-source
- if($LASTEXITCODE -ne 0) { exit 1 }
+ if($LASTEXITCODE -ne 0) { exit 1 }
Pop-Location
}
-foreach ($test in ls test/*.PerformanceTests) {
+foreach ($test in Get-ChildItem "test/*.PerformanceTests") {
Push-Location $test
- echo "build: Building performance test project in $test"
+ Write-Output "build: Building performance test project in $test"
& dotnet build -c Release
if($LASTEXITCODE -ne 0) { exit 2 }
@@ -37,10 +37,10 @@ foreach ($test in ls test/*.PerformanceTests) {
Pop-Location
}
-foreach ($test in ls test/*.Tests) {
+foreach ($test in Get-ChildItem "test/*.Tests") {
Push-Location $test
- echo "build: Testing project in $test"
+ Write-Output "build: Testing project in $test"
& dotnet test -c Release
if($LASTEXITCODE -ne 0) { exit 3 }
diff --git a/Setup.ps1 b/Setup.ps1
new file mode 100644
index 0000000..a0fc768
--- /dev/null
+++ b/Setup.ps1
@@ -0,0 +1,11 @@
+$ErrorActionPreference = "Stop"
+
+$RequiredDotnetVersion = $(Get-Content ./global.json | convertfrom-json).sdk.version
+
+mkdir "./build"
+
+Invoke-WebRequest "https://dot.net/v1/dotnet-install.ps1" -OutFile "./build/installcli.ps1"
+& ./build/installcli.ps1 -InstallDir "$pwd/.dotnetcli" -NoPath -Version $RequiredDotnetVersion
+if ($LASTEXITCODE) { exit 1 }
+
+$env:Path = "$pwd/.dotnetcli;$env:Path"
diff --git a/appveyor.yml b/appveyor.yml
index 396e0ef..2ecdc16 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,7 +1,9 @@
version: '{build}'
skip_tags: true
-image: Visual Studio 2017
+image: Visual Studio 2019
configuration: Release
+install:
+- ps: ./Setup.ps1
build_script:
- ps: ./Build.ps1
test: off
diff --git a/global.json b/global.json
new file mode 100644
index 0000000..f1c2b2b
--- /dev/null
+++ b/global.json
@@ -0,0 +1,5 @@
+{
+ "sdk": {
+ "version": "3.1.101"
+ }
+}
\ No newline at end of file
diff --git a/sample/Sample/Sample.csproj b/sample/Sample/Sample.csproj
index 1b69583..019a871 100644
--- a/sample/Sample/Sample.csproj
+++ b/sample/Sample/Sample.csproj
@@ -1,10 +1,15 @@
- net46;netcoreapp2.0
+ netcoreapp3.1
Exe
+
+ [*, 9999.0)
+
+
+
false
@@ -13,21 +18,21 @@
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj b/src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj
index 22d6aea..5ee2136 100644
--- a/src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj
+++ b/src/Serilog.Settings.Configuration/Serilog.Settings.Configuration.csproj
@@ -13,6 +13,7 @@
true
Serilog.Settings.Configuration
serilog;json
+ serilog-extension-nuget.png
https://serilog.net/images/serilog-configuration-nuget.png
https://github.com/serilog/serilog-settings-configuration
Apache-2.0
@@ -21,20 +22,35 @@
Serilog
+
+
+
+
+
+ [*, 9999.0)
+
+
$(DefineConstants);PRIVATE_BIN
+
+
+
+
+
+
+
+
+
-
+
+
-
-
-
diff --git a/src/Serilog.Settings.Configuration/images/serilog-extension-nuget.png b/src/Serilog.Settings.Configuration/images/serilog-extension-nuget.png
new file mode 100644
index 0000000..1dfe430
Binary files /dev/null and b/src/Serilog.Settings.Configuration/images/serilog-extension-nuget.png differ
diff --git a/test/Serilog.Settings.Configuration.Tests/ConfigurationReaderTests.cs b/test/Serilog.Settings.Configuration.Tests/ConfigurationReaderTests.cs
index b24007b..5d1bf72 100644
--- a/test/Serilog.Settings.Configuration.Tests/ConfigurationReaderTests.cs
+++ b/test/Serilog.Settings.Configuration.Tests/ConfigurationReaderTests.cs
@@ -14,7 +14,7 @@ public class ConfigurationReaderTests
public ConfigurationReaderTests()
{
_configurationReader = new ConfigurationReader(
- JsonStringConfigSource.LoadSection(@"{ 'Serilog': { } }", "Serilog"),
+ JsonStringConfigSource.LoadSection(@"{ ""Serilog"": { } }", "Serilog"),
AssemblyFinder.ForSource(ConfigurationAssemblySource.UseLoadedAssemblies));
}
@@ -23,7 +23,7 @@ public void WriteToSupportSimplifiedSyntax()
{
var json = @"
{
- 'WriteTo': [ 'LiterateConsole', 'DiagnosticTrace' ]
+ ""WriteTo"": [ ""LiterateConsole"", ""DiagnosticTrace"" ]
}";
var result = _configurationReader.GetMethodCalls(JsonStringConfigSource.LoadSection(json, "WriteTo"));
@@ -31,8 +31,8 @@ public void WriteToSupportSimplifiedSyntax()
Assert.True(result.Contains("LiterateConsole"));
Assert.True(result.Contains("DiagnosticTrace"));
- Assert.Equal(1, result["LiterateConsole"].Count());
- Assert.Equal(1, result["DiagnosticTrace"].Count());
+ Assert.Single(result["LiterateConsole"]);
+ Assert.Single(result["DiagnosticTrace"]);
}
[Fact]
@@ -40,8 +40,8 @@ public void WriteToSupportExpandedSyntaxWithoutArgs()
{
var json = @"
{
- 'WriteTo': [ {
- 'Name': 'LiterateConsole'
+ ""WriteTo"": [ {
+ ""Name"": ""LiterateConsole""
}]
}";
@@ -49,7 +49,7 @@ public void WriteToSupportExpandedSyntaxWithoutArgs()
Assert.Equal(1, result.Count);
Assert.True(result.Contains("LiterateConsole"));
- Assert.Equal(1, result["LiterateConsole"].Count());
+ Assert.Single(result["LiterateConsole"]);
}
[Fact]
@@ -57,10 +57,10 @@ public void WriteToSupportExpandedSyntaxWithArgs()
{
var json = @"
{
- 'WriteTo': [ {
- 'Name': 'LiterateConsole',
- 'Args': {
- 'outputTemplate': '{Message}'
+ ""WriteTo"": [ {
+ ""Name"": ""LiterateConsole"",
+ ""Args"": {
+ ""outputTemplate"": ""{Message}""
},
}]
}";
@@ -70,11 +70,11 @@ public void WriteToSupportExpandedSyntaxWithArgs()
Assert.Equal(1, result.Count);
Assert.True(result.Contains("LiterateConsole"));
- Assert.Equal(1, result["LiterateConsole"].Count());
+ Assert.Single(result["LiterateConsole"]);
var args = result["LiterateConsole"].Single().ToArray();
- Assert.Equal(1, args.Length);
+ Assert.Single(args);
Assert.Equal("outputTemplate", args[0].Key);
Assert.Equal("{Message}", args[0].Value.ConvertTo(typeof(string), new ResolutionContext()));
}
@@ -84,25 +84,25 @@ public void WriteToSupportMultipleSinksOfTheSameKind()
{
var json = @"
{
- 'WriteTo': [
+ ""WriteTo"": [
{
- 'Name': 'LiterateConsole',
- 'Args': {
- 'outputTemplate': '{Message}'
+ ""Name"": ""LiterateConsole"",
+ ""Args"": {
+ ""outputTemplate"": ""{Message}""
},
},
- 'DiagnosticTrace'
+ ""DiagnosticTrace""
],
- 'WriteTo:File1': {
- 'Name': 'File',
- 'Args': {
- 'outputTemplate': '{Message}'
+ ""WriteTo:File1"": {
+ ""Name"": ""File"",
+ ""Args"": {
+ ""outputTemplate"": ""{Message}""
},
},
- 'WriteTo:File2': {
- 'Name': 'File',
- 'Args': {
- 'outputTemplate': '{Message}'
+ ""WriteTo:File2"": {
+ ""Name"": ""File"",
+ ""Args"": {
+ ""outputTemplate"": ""{Message}""
},
}
}";
@@ -114,8 +114,8 @@ public void WriteToSupportMultipleSinksOfTheSameKind()
Assert.True(result.Contains("DiagnosticTrace"));
Assert.True(result.Contains("File"));
- Assert.Equal(1, result["LiterateConsole"].Count());
- Assert.Equal(1, result["DiagnosticTrace"].Count());
+ Assert.Single(result["LiterateConsole"]);
+ Assert.Single(result["DiagnosticTrace"]);
Assert.Equal(2, result["File"].Count());
}
@@ -124,7 +124,7 @@ public void Enrich_SupportSimplifiedSyntax()
{
var json = @"
{
- 'Enrich': [ 'FromLogContext', 'WithMachineName', 'WithThreadId' ]
+ ""Enrich"": [ ""FromLogContext"", ""WithMachineName"", ""WithThreadId"" ]
}";
var result = _configurationReader.GetMethodCalls(JsonStringConfigSource.LoadSection(json, "Enrich"));
@@ -133,9 +133,9 @@ public void Enrich_SupportSimplifiedSyntax()
Assert.True(result.Contains("WithMachineName"));
Assert.True(result.Contains("WithThreadId"));
- Assert.Equal(1, result["FromLogContext"].Count());
- Assert.Equal(1, result["WithMachineName"].Count());
- Assert.Equal(1, result["WithThreadId"].Count());
+ Assert.Single(result["FromLogContext"]);
+ Assert.Single(result["WithMachineName"]);
+ Assert.Single(result["WithThreadId"]);
}
[Fact]
diff --git a/test/Serilog.Settings.Configuration.Tests/ConfigurationSettingsTests.cs b/test/Serilog.Settings.Configuration.Tests/ConfigurationSettingsTests.cs
index 06352b7..9ab3468 100644
--- a/test/Serilog.Settings.Configuration.Tests/ConfigurationSettingsTests.cs
+++ b/test/Serilog.Settings.Configuration.Tests/ConfigurationSettingsTests.cs
@@ -83,8 +83,8 @@ public void ParameterlessSinksAreConfigured(string syntax, string json)
log.Write(Some.InformationEvent());
- Assert.Equal(1, DummyConsoleSink.Emitted.Count);
- Assert.Equal(1, DummyWithLevelSwitchSink.Emitted.Count);
+ Assert.Single(DummyConsoleSink.Emitted);
+ Assert.Single(DummyWithLevelSwitchSink.Emitted);
}
[Fact]
@@ -109,7 +109,7 @@ public void ConfigurationAssembliesFromDllScanning()
log.Write(Some.InformationEvent());
- Assert.Equal(1, DummyConsoleSink.Emitted.Count);
+ Assert.Single(DummyConsoleSink.Emitted);
}
[Fact]
@@ -133,8 +133,8 @@ public void SinksAreConfigured()
log.Write(Some.InformationEvent());
- Assert.Equal(1, DummyRollingFileSink.Emitted.Count);
- Assert.Equal(0, DummyRollingFileAuditSink.Emitted.Count);
+ Assert.Single(DummyRollingFileSink.Emitted);
+ Assert.Empty(DummyRollingFileAuditSink.Emitted);
}
[Fact]
@@ -158,8 +158,8 @@ public void AuditSinksAreConfigured()
log.Write(Some.InformationEvent());
- Assert.Equal(0, DummyRollingFileSink.Emitted.Count);
- Assert.Equal(1, DummyRollingFileAuditSink.Emitted.Count);
+ Assert.Empty(DummyRollingFileSink.Emitted);
+ Assert.Single(DummyRollingFileAuditSink.Emitted);
}
[Fact]
@@ -189,8 +189,8 @@ public void AuditToSubLoggersAreConfigured()
log.Write(Some.InformationEvent());
- Assert.Equal(0, DummyRollingFileSink.Emitted.Count);
- Assert.Equal(1, DummyRollingFileAuditSink.Emitted.Count);
+ Assert.Empty(DummyRollingFileSink.Emitted);
+ Assert.Single(DummyRollingFileAuditSink.Emitted);
}
[Fact]
@@ -588,7 +588,7 @@ public void SinkWithConfigurationBindingArgument()
log.Write(Some.InformationEvent());
- Assert.Equal(1, DummyRollingFileSink.Emitted.Count);
+ Assert.Single(DummyRollingFileSink.Emitted);
}
[Fact]
@@ -612,7 +612,7 @@ public void SinkWithStringArrayArgument()
log.Write(Some.InformationEvent());
- Assert.Equal(1, DummyRollingFileSink.Emitted.Count);
+ Assert.Single(DummyRollingFileSink.Emitted);
}
[Fact]
@@ -636,7 +636,7 @@ public void SinkWithIntArrayArgument()
log.Write(Some.InformationEvent());
- Assert.Equal(1, DummyRollingFileSink.Emitted.Count);
+ Assert.Single(DummyRollingFileSink.Emitted);
}
[Trait("Bugfix", "#111")]
@@ -660,7 +660,7 @@ public void CaseInsensitiveArgumentNameMatching()
log.Write(Some.InformationEvent());
- Assert.Equal(1, DummyRollingFileSink.Emitted.Count);
+ Assert.Single(DummyRollingFileSink.Emitted);
}
[Trait("Bugfix", "#91")]
@@ -692,7 +692,7 @@ public void WriteToLoggerWithRestrictedToMinimumLevelIsSupported()
log.Write(Some.InformationEvent());
log.Write(Some.WarningEvent());
- Assert.Equal(1, DummyRollingFileSink.Emitted.Count);
+ Assert.Single(DummyRollingFileSink.Emitted);
}
[Trait("Bugfix", "#91")]
@@ -727,7 +727,7 @@ public void WriteToSubLoggerWithLevelSwitchIsSupported()
log.Write(Some.InformationEvent());
log.Write(Some.WarningEvent());
- Assert.Equal(1, DummyRollingFileSink.Emitted.Count);
+ Assert.Single(DummyRollingFileSink.Emitted);
}
[Trait("Bugfix", "#103")]
diff --git a/test/Serilog.Settings.Configuration.Tests/DynamicLevelChangeTests.cs b/test/Serilog.Settings.Configuration.Tests/DynamicLevelChangeTests.cs
index b1b1f43..99a3f55 100644
--- a/test/Serilog.Settings.Configuration.Tests/DynamicLevelChangeTests.cs
+++ b/test/Serilog.Settings.Configuration.Tests/DynamicLevelChangeTests.cs
@@ -12,19 +12,19 @@ namespace Serilog.Settings.Configuration.Tests
public class DynamicLevelChangeTests
{
const string DefaultConfig = @"{
- 'Serilog': {
- 'Using': [ 'TestDummies' ],
- 'MinimumLevel': {
- 'Default': 'Information',
- 'Override': {
- 'Root.Test': 'Information'
+ ""Serilog"": {
+ ""Using"": [ ""TestDummies"" ],
+ ""MinimumLevel"": {
+ ""Default"": ""Information"",
+ ""Override"": {
+ ""Root.Test"": ""Information""
}
},
- 'LevelSwitches': { '$mySwitch': 'Information' },
- 'WriteTo:Dummy': {
- 'Name': 'DummyConsole',
- 'Args': {
- 'levelSwitch': '$mySwitch'
+ ""LevelSwitches"": { ""$mySwitch"": ""Information"" },
+ ""WriteTo:Dummy"": {
+ ""Name"": ""DummyConsole"",
+ ""Args"": {
+ ""levelSwitch"": ""$mySwitch""
}
}
}
diff --git a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj b/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj
index 69ceb38..b1fda12 100644
--- a/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj
+++ b/test/Serilog.Settings.Configuration.Tests/Serilog.Settings.Configuration.Tests.csproj
@@ -12,7 +12,7 @@
-->
- net452;netcoreapp2.0
+ net452;netcoreapp3.1
Serilog.Settings.Configuration.Tests
../../assets/Serilog.snk
true
@@ -28,24 +28,20 @@
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/test/TestDummies/TestDummies.csproj b/test/TestDummies/TestDummies.csproj
index 5c212f5..a3ba2e6 100644
--- a/test/TestDummies/TestDummies.csproj
+++ b/test/TestDummies/TestDummies.csproj
@@ -1,7 +1,7 @@
- net452;netstandard2.0
+ net452;netstandard2.0;
TestDummies
../../assets/Serilog.snk
true
@@ -12,12 +12,16 @@
false
+
+ [*, 9999.0)
+
+
-
+
-
+