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) + + - + - +