diff options
| author | transtrike <transtrike@gmail.com> | 2021-04-02 23:17:39 +0300 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-04-02 23:17:39 +0300 |
| commit | 0c83049a3a0b417da7dcd548b1cd0992defb366f (patch) | |
| tree | b69ef0d111b7c22316a2a6603d66d85e4a568956 /src/Web | |
| parent | d672c515eb760a5351affeb5600640569ed5ee16 (diff) | |
| parent | 2448c4d31188aed26605c5e3c282bacc3bd71ae5 (diff) | |
| download | DevHive-0c83049a3a0b417da7dcd548b1cd0992defb366f.tar DevHive-0c83049a3a0b417da7dcd548b1cd0992defb366f.tar.gz DevHive-0c83049a3a0b417da7dcd548b1cd0992defb366f.zip | |
dev -> feature/profile_picture_implementation(02.03.2021)
Diffstat (limited to 'src/Web')
| -rw-r--r-- | src/Web/DevHive.Web.Models/DevHive.Web.Models.csproj | 2 | ||||
| -rw-r--r-- | src/Web/DevHive.Web.Tests/DevHive.Web.Tests.csproj | 2 | ||||
| -rw-r--r-- | src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs | 2 | ||||
| -rw-r--r-- | src/Web/DevHive.Web/DevHive.Web.csproj | 31 | ||||
| -rw-r--r-- | src/Web/DevHive.Web/Middleware/ExceptionMiddleware.cs | 8 | ||||
| -rw-r--r-- | src/Web/DevHive.Web/Program.cs | 26 | ||||
| -rw-r--r-- | src/Web/DevHive.Web/Startup.cs | 6 | ||||
| -rw-r--r-- | src/Web/DevHive.Web/appsettings.json | 38 |
8 files changed, 86 insertions, 29 deletions
diff --git a/src/Web/DevHive.Web.Models/DevHive.Web.Models.csproj b/src/Web/DevHive.Web.Models/DevHive.Web.Models.csproj index 9d62eee..79c856f 100644 --- a/src/Web/DevHive.Web.Models/DevHive.Web.Models.csproj +++ b/src/Web/DevHive.Web.Models/DevHive.Web.Models.csproj @@ -8,6 +8,6 @@ </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2"/> - <PackageReference Include="SonarAnalyzer.CSharp" Version="8.19.0.28253"/> + <PackageReference Include="SonarAnalyzer.CSharp" Version="8.20.0.28934"/> </ItemGroup> </Project>
\ No newline at end of file diff --git a/src/Web/DevHive.Web.Tests/DevHive.Web.Tests.csproj b/src/Web/DevHive.Web.Tests/DevHive.Web.Tests.csproj index 5099119..49a9173 100644 --- a/src/Web/DevHive.Web.Tests/DevHive.Web.Tests.csproj +++ b/src/Web/DevHive.Web.Tests/DevHive.Web.Tests.csproj @@ -8,7 +8,7 @@ <PackageReference Include="NUnit" Version="3.13.1"/> <PackageReference Include="NUnit3TestAdapter" Version="3.17.0"/> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.1"/> - <PackageReference Include="SonarAnalyzer.CSharp" Version="8.19.0.28253"/> + <PackageReference Include="SonarAnalyzer.CSharp" Version="8.20.0.28934"/> </ItemGroup> <ItemGroup> <ProjectReference Include="..\DevHive.Web\DevHive.Web.csproj"/> diff --git a/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs b/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs index 1bd8df0..b4c49b4 100644 --- a/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs +++ b/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs @@ -18,7 +18,7 @@ namespace DevHive.Web.Configurations.Extensions { services.AddDbContext<DevHiveContext>(options => { - options.EnableSensitiveDataLogging(true); + // options.EnableSensitiveDataLogging(true); options.UseNpgsql(configuration.GetConnectionString("DEV"), options => { options.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery); diff --git a/src/Web/DevHive.Web/DevHive.Web.csproj b/src/Web/DevHive.Web/DevHive.Web.csproj index 39322ae..5b3a920 100644 --- a/src/Web/DevHive.Web/DevHive.Web.csproj +++ b/src/Web/DevHive.Web/DevHive.Web.csproj @@ -9,25 +9,30 @@ <AllowUntrustedCertificate>true</AllowUntrustedCertificate> </PropertyGroup> <ItemGroup> - <PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="5.0.3" NoWarn="NU1605"/> - <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.3" NoWarn="NU1605"/> - <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.3"> + <PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="5.0.4" NoWarn="NU1605"/> + <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.4" NoWarn="NU1605"/> + <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.4"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.2"/> <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="8.1.1"/> <PackageReference Include="AutoMapper" Version="10.1.1"/> - <PackageReference Include="Newtonsoft.Json" Version="12.0.3"/> - <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.3"/> - <PackageReference Include="SonarAnalyzer.CSharp" Version="8.19.0.28253"/> - <PackageReference Include="NSwag.AspNetCore" Version="13.10.7"/> - <PackageReference Include="NSwag.Generation.AspNetCore" Version="13.10.7"/> - <PackageReference Include="NSwag.Annotations" Version="13.10.7"/> - <PackageReference Include="NSwag.Core" Version="13.10.7"/> - <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="6.1.0"/> - <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.1.0"/> - <PackageReference Include="NSwag.SwaggerGeneration.WebApi" Version="12.3.0"/> + <PackageReference Include="Newtonsoft.Json" Version="13.0.1"/> + <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.4"/> + <PackageReference Include="SonarAnalyzer.CSharp" Version="8.20.0.28934"/> + <PackageReference Include="NSwag.AspNetCore" Version="13.10.8"/> + <PackageReference Include="NSwag.Generation.AspNetCore" Version="13.10.8"/> + <PackageReference Include="NSwag.Annotations" Version="13.10.8"/> + <PackageReference Include="NSwag.Core" Version="13.10.8"/> + <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="6.1.1"/> + <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.1.1"/> + <PackageReference Include="NSwag.SwaggerGeneration.WebApi" Version="12.3.1"/> + <PackageReference Include="Serilog.AspNetCore" Version="4.1.0"/> + <PackageReference Include="Serilog.Settings.Configuration" Version="3.1.0"/> + <PackageReference Include="Serilog.Enrichers.Environment" Version="2.1.3"/> + <PackageReference Include="Serilog.Enrichers.Thread" Version="3.1.0"/> + <PackageReference Include="Serilog.Enrichers.Process" Version="2.0.1"/> </ItemGroup> <ItemGroup> <ProjectReference Include="..\DevHive.Web.Models\DevHive.Web.Models.csproj"/> diff --git a/src/Web/DevHive.Web/Middleware/ExceptionMiddleware.cs b/src/Web/DevHive.Web/Middleware/ExceptionMiddleware.cs index e2521bd..ebec5e8 100644 --- a/src/Web/DevHive.Web/Middleware/ExceptionMiddleware.cs +++ b/src/Web/DevHive.Web/Middleware/ExceptionMiddleware.cs @@ -32,12 +32,8 @@ namespace DevHive.Web.Middleware context.Response.ContentType = "application/json"; context.Response.StatusCode = (int)HttpStatusCode.BadRequest; - // Made to ressemble the formatting of property validation errors (like [MinLength(3)]) - string message = JsonConvert.SerializeObject(new { - errors = new { - Exception = new String[] { exception.Message } - } - }); + // Made to resemble the formatting of property validation errors (like [MinLength(3)]) + string message = JsonConvert.SerializeObject(new { Error = exception.Message }); return context.Response.WriteAsync(message); } diff --git a/src/Web/DevHive.Web/Program.cs b/src/Web/DevHive.Web/Program.cs index fdb6889..e7c47a9 100644 --- a/src/Web/DevHive.Web/Program.cs +++ b/src/Web/DevHive.Web/Program.cs @@ -1,5 +1,8 @@ +using System; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Configuration; +using Serilog; namespace DevHive.Web { @@ -11,11 +14,32 @@ namespace DevHive.Web public static void Main(string[] args) { - CreateHostBuilder(args).Build().Run(); + var config = new ConfigurationBuilder() + .AddJsonFile("appsettings.json") + .Build(); + + Log.Logger = new LoggerConfiguration() + .ReadFrom.Configuration(config) + .CreateLogger(); + + try + { + Log.Information("Application Starting Up"); + CreateHostBuilder(args).Build().Run(); + } + catch (Exception ex) + { + Log.Fatal(ex, "The application failed to start correctly."); + } + finally + { + Log.CloseAndFlush(); + } } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) + .UseSerilog() .ConfigureWebHostDefaults(webBuilder => { webBuilder.ConfigureKestrel(opt => opt.ListenLocalhost(HTTP_PORT)); diff --git a/src/Web/DevHive.Web/Startup.cs b/src/Web/DevHive.Web/Startup.cs index 002c718..05a75d9 100644 --- a/src/Web/DevHive.Web/Startup.cs +++ b/src/Web/DevHive.Web/Startup.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using DevHive.Web.Configurations.Extensions; using Newtonsoft.Json; +using Serilog; namespace DevHive.Web { @@ -46,7 +47,8 @@ namespace DevHive.Web if (env.IsDevelopment()) { - app.UseDeveloperExceptionPage(); + app.UseExceptionHandlerMiddlewareConfiguration(); + // app.UseDeveloperExceptionPage(); } else { @@ -58,6 +60,8 @@ namespace DevHive.Web app.UseDatabaseConfiguration(); app.UseAutoMapperConfiguration(); + app.UseSerilogRequestLogging(); + app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( diff --git a/src/Web/DevHive.Web/appsettings.json b/src/Web/DevHive.Web/appsettings.json index 036af82..84d534d 100644 --- a/src/Web/DevHive.Web/appsettings.json +++ b/src/Web/DevHive.Web/appsettings.json @@ -12,11 +12,39 @@ "apiKey": "488664116365813", "apiSecret": "" }, - "Logging": { - "LogLevel": { + "Serilog": { + "Using": [], + "LevelSwitches": { + "$consoleSwitch": "Verbose", + "$fileSwitch": "Error" + }, + "MinimumLevel": { "Default": "Information", - "Microsoft": "Warning", - "Microsoft.Hosting.Lifetime": "Information" - } + "Override": { + "Microsoft": "Warning", + "System": "Warning" + } + }, + "Enrich": [ + "FromLogContext", + "WithMachineName", + "WithProcessId", + "WithThreadId" + ], + "WriteTo": [ + { + "Name": "Console", + "Args": { + "levelSwitch": "$consoleSwitch" + } + }, + { + "Name": "File", + "Args": { + "path": "./Logs/errors.log", + "levelSwitch": "$fileSwitch" + } + } + ] } } |
