diff --git a/Setup.ps1 b/Setup.ps1
new file mode 100644
index 0000000..880a07a
--- /dev/null
+++ b/Setup.ps1
@@ -0,0 +1,11 @@
+$ErrorActionPreference = "Stop"
+
+$RequiredDotnetVersion = $(cat ./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 8889af6..ef82a65 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -2,7 +2,7 @@ version: '{build}'
skip_tags: true
image: Visual Studio 2017
install:
- - ps: mkdir -Force ".\build\" | Out-Null
+- ps: ./Setup.ps1
build_script:
- ps: ./Build.ps1
test: off
diff --git a/global.json b/global.json
index 2be3e86..2223a05 100644
--- a/global.json
+++ b/global.json
@@ -1,5 +1,5 @@
{
"sdk": {
- "version": "2.2.105"
+ "version": "3.0.100"
}
}
\ No newline at end of file
diff --git a/samples/EarlyInitializationSample/EarlyInitializationSample.csproj b/samples/EarlyInitializationSample/EarlyInitializationSample.csproj
index aa91d7f..0b71549 100644
--- a/samples/EarlyInitializationSample/EarlyInitializationSample.csproj
+++ b/samples/EarlyInitializationSample/EarlyInitializationSample.csproj
@@ -1,17 +1,11 @@
- netcoreapp2.2
- InProcess
+ netcoreapp3.0
-
-
-
-
-
diff --git a/samples/EarlyInitializationSample/Program.cs b/samples/EarlyInitializationSample/Program.cs
index 407d45e..284a26b 100644
--- a/samples/EarlyInitializationSample/Program.cs
+++ b/samples/EarlyInitializationSample/Program.cs
@@ -1,8 +1,8 @@
using System;
using System.IO;
-using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Hosting;
using Serilog;
namespace EarlyInitializationSample
@@ -23,16 +23,14 @@ public static int Main(string[] args)
.Enrich.FromLogContext()
.WriteTo.Debug()
.WriteTo.Console(
- // {Properties:j} added:
- outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} " +
- "{Properties:j}{NewLine}{Exception}")
+ outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}")
.CreateLogger();
try
{
Log.Information("Getting the motors running...");
- BuildWebHost(args).Run();
+ CreateHostBuilder(args).Build().Run();
return 0;
}
@@ -47,11 +45,12 @@ public static int Main(string[] args)
}
}
- public static IWebHost BuildWebHost(string[] args) =>
- WebHost.CreateDefaultBuilder(args)
- .UseStartup()
- .UseConfiguration(Configuration)
- .UseSerilog()
- .Build();
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .ConfigureWebHostDefaults(webBuilder =>
+ {
+ webBuilder.UseStartup();
+ })
+ .UseSerilog();
}
}
diff --git a/samples/EarlyInitializationSample/Startup.cs b/samples/EarlyInitializationSample/Startup.cs
index 42e25e0..502c133 100644
--- a/samples/EarlyInitializationSample/Startup.cs
+++ b/samples/EarlyInitializationSample/Startup.cs
@@ -1,38 +1,19 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
using Serilog;
namespace EarlyInitializationSample
{
public class Startup
{
- public Startup(IConfiguration configuration)
- {
- Configuration = configuration;
- }
-
- public IConfiguration Configuration { get; }
-
- // This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
- services.Configure(options =>
- {
- // This lambda determines whether user consent for non-essential cookies is needed for a given request.
- options.CheckConsentNeeded = context => true;
- options.MinimumSameSitePolicy = SameSiteMode.None;
- });
-
-
- services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
+ services.AddControllersWithViews();
}
- // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
- public void Configure(IApplicationBuilder app, IHostingEnvironment env)
+ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
@@ -41,21 +22,23 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env)
else
{
app.UseExceptionHandler("/Home/Error");
+ app.UseHsts();
}
+ app.UseStaticFiles();
+
// Write streamlined request completion events, instead of the more verbose ones from the framework.
// To use the default framework request logging instead, remove this line and set the "Microsoft"
// level in appsettings.json to "Information".
app.UseSerilogRequestLogging();
- app.UseStaticFiles();
- app.UseCookiePolicy();
+ app.UseRouting();
- app.UseMvc(routes =>
+ app.UseEndpoints(endpoints =>
{
- routes.MapRoute(
+ endpoints.MapControllerRoute(
name: "default",
- template: "{controller=Home}/{action=Index}/{id?}");
+ pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
diff --git a/samples/InlineInitializationSample/InlineInitializationSample.csproj b/samples/InlineInitializationSample/InlineInitializationSample.csproj
index aa91d7f..0b71549 100644
--- a/samples/InlineInitializationSample/InlineInitializationSample.csproj
+++ b/samples/InlineInitializationSample/InlineInitializationSample.csproj
@@ -1,17 +1,11 @@
- netcoreapp2.2
- InProcess
+ netcoreapp3.0
-
-
-
-
-
diff --git a/samples/InlineInitializationSample/Program.cs b/samples/InlineInitializationSample/Program.cs
index 18bca7d..9cf2e42 100644
--- a/samples/InlineInitializationSample/Program.cs
+++ b/samples/InlineInitializationSample/Program.cs
@@ -1,5 +1,5 @@
-using Microsoft.AspNetCore;
-using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Hosting;
using Serilog;
namespace InlineInitializationSample
@@ -8,19 +8,20 @@ public class Program
{
public static void Main(string[] args)
{
- CreateWebHostBuilder(args).Build().Run();
+ CreateHostBuilder(args).Build().Run();
}
- public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
- WebHost.CreateDefaultBuilder(args)
- .UseStartup()
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .ConfigureWebHostDefaults(webBuilder =>
+ {
+ webBuilder.UseStartup();
+ })
.UseSerilog((hostingContext, loggerConfiguration) => loggerConfiguration
.ReadFrom.Configuration(hostingContext.Configuration)
.Enrich.FromLogContext()
.WriteTo.Debug()
.WriteTo.Console(
- // {Properties:j} added:
- outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} " +
- "{Properties:j}{NewLine}{Exception}"));
+ outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}"));
}
}
diff --git a/samples/InlineInitializationSample/Startup.cs b/samples/InlineInitializationSample/Startup.cs
index 8de3f04..82f3bcd 100644
--- a/samples/InlineInitializationSample/Startup.cs
+++ b/samples/InlineInitializationSample/Startup.cs
@@ -1,10 +1,8 @@
-using System.Net;
+using System.Net;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
-using Microsoft.AspNetCore.Http;
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Events;
@@ -12,29 +10,12 @@ namespace InlineInitializationSample
{
public class Startup
{
- public Startup(IConfiguration configuration)
- {
- Configuration = configuration;
- }
-
- public IConfiguration Configuration { get; }
-
- // This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
- services.Configure(options =>
- {
- // This lambda determines whether user consent for non-essential cookies is needed for a given request.
- options.CheckConsentNeeded = context => true;
- options.MinimumSameSitePolicy = SameSiteMode.None;
- });
-
-
- services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
+ services.AddControllersWithViews();
}
- // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
- public void Configure(IApplicationBuilder app, IHostingEnvironment env)
+ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
@@ -43,21 +24,23 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env)
else
{
app.UseExceptionHandler("/Home/Error");
+ app.UseHsts();
}
+ app.UseStaticFiles();
+
// Write streamlined request completion events, instead of the more verbose ones from the framework.
// To use the default framework request logging instead, remove this line and set the "Microsoft"
// level in appsettings.json to "Information".
app.UseSerilogRequestLogging();
- app.UseStaticFiles();
- app.UseCookiePolicy();
+ app.UseRouting();
- app.UseMvc(routes =>
+ app.UseEndpoints(endpoints =>
{
- routes.MapRoute(
+ endpoints.MapControllerRoute(
name: "default",
- template: "{controller=Home}/{action=Index}/{id?}");
+ pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
diff --git a/serilog-aspnetcore.sln b/serilog-aspnetcore.sln
index a50ef98..920326e 100644
--- a/serilog-aspnetcore.sln
+++ b/serilog-aspnetcore.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26730.12
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29209.62
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{A1893BD1-333D-4DFE-A0F0-DDBB2FE526E0}"
EndProject
@@ -16,6 +16,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "assets", "assets", "{9C21B9
global.json = global.json
README.md = README.md
assets\Serilog.snk = assets\Serilog.snk
+ Setup.ps1 = Setup.ps1
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Serilog.AspNetCore", "src\Serilog.AspNetCore\Serilog.AspNetCore.csproj", "{0549D23F-986B-4FB2-BACE-16FD7A7BC9EF}"