aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--src/Common/DevHive.Common.Models/DevHive.Common.Models.csproj2
-rw-r--r--src/Common/DevHive.Common/DevHive.Common.csproj4
-rw-r--r--src/Data/DevHive.Data.Models/DevHive.Data.Models.csproj4
-rw-r--r--src/Data/DevHive.Data.Tests/DevHive.Data.Tests.csproj4
-rw-r--r--src/Data/DevHive.Data/DevHive.Data.csproj6
-rw-r--r--src/Data/DevHive.Data/Repositories/PostRepository.cs3
-rw-r--r--src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj2
-rw-r--r--src/Services/DevHive.Services.Tests/DevHive.Services.Tests.csproj4
-rw-r--r--src/Services/DevHive.Services/DevHive.Services.csproj8
-rw-r--r--src/Services/DevHive.Services/Services/CloudinaryService.cs14
-rw-r--r--src/Web/DevHive.Web.Models/DevHive.Web.Models.csproj2
-rw-r--r--src/Web/DevHive.Web.Tests/DevHive.Web.Tests.csproj2
-rw-r--r--src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs2
-rw-r--r--src/Web/DevHive.Web/DevHive.Web.csproj31
-rw-r--r--src/Web/DevHive.Web/Middleware/ExceptionMiddleware.cs8
-rw-r--r--src/Web/DevHive.Web/Program.cs26
-rw-r--r--src/Web/DevHive.Web/Startup.cs6
-rw-r--r--src/Web/DevHive.Web/appsettings.json38
19 files changed, 116 insertions, 53 deletions
diff --git a/.gitignore b/.gitignore
index 32533c2..ff542fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -354,4 +354,5 @@ MigrationBackup/
*.blob
appsettings.Development.json
**/.vscode/
-**/*.swp \ No newline at end of file
+**/*.swp
+**/Logs
diff --git a/src/Common/DevHive.Common.Models/DevHive.Common.Models.csproj b/src/Common/DevHive.Common.Models/DevHive.Common.Models.csproj
index a952c59..db8d1c9 100644
--- a/src/Common/DevHive.Common.Models/DevHive.Common.Models.csproj
+++ b/src/Common/DevHive.Common.Models/DevHive.Common.Models.csproj
@@ -4,7 +4,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.2"/>
- <PackageReference Include="SonarAnalyzer.CSharp" Version="8.19.0.28253"/>
+ <PackageReference Include="SonarAnalyzer.CSharp" Version="8.20.0.28934"/>
</ItemGroup>
<PropertyGroup>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
diff --git a/src/Common/DevHive.Common/DevHive.Common.csproj b/src/Common/DevHive.Common/DevHive.Common.csproj
index cd60d85..a5758f4 100644
--- a/src/Common/DevHive.Common/DevHive.Common.csproj
+++ b/src/Common/DevHive.Common/DevHive.Common.csproj
@@ -6,6 +6,6 @@
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.8.0"/>
+ <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.10.0"/>
</ItemGroup>
-</Project>
+</Project> \ No newline at end of file
diff --git a/src/Data/DevHive.Data.Models/DevHive.Data.Models.csproj b/src/Data/DevHive.Data.Models/DevHive.Data.Models.csproj
index d249c77..2958f86 100644
--- a/src/Data/DevHive.Data.Models/DevHive.Data.Models.csproj
+++ b/src/Data/DevHive.Data.Models/DevHive.Data.Models.csproj
@@ -4,7 +4,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0"/>
- <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.3"/>
- <PackageReference Include="SonarAnalyzer.CSharp" Version="8.19.0.28253"/>
+ <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.4"/>
+ <PackageReference Include="SonarAnalyzer.CSharp" Version="8.20.0.28934"/>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/Data/DevHive.Data.Tests/DevHive.Data.Tests.csproj b/src/Data/DevHive.Data.Tests/DevHive.Data.Tests.csproj
index 25b2b39..e9b33e5 100644
--- a/src/Data/DevHive.Data.Tests/DevHive.Data.Tests.csproj
+++ b/src/Data/DevHive.Data.Tests/DevHive.Data.Tests.csproj
@@ -4,12 +4,12 @@
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.3"/>
+ <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.4"/>
<PackageReference Include="Moq" Version="4.16.1"/>
<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.Data\DevHive.Data.csproj"/>
diff --git a/src/Data/DevHive.Data/DevHive.Data.csproj b/src/Data/DevHive.Data/DevHive.Data.csproj
index fcdb7ae..62320f7 100644
--- a/src/Data/DevHive.Data/DevHive.Data.csproj
+++ b/src/Data/DevHive.Data/DevHive.Data.csproj
@@ -5,14 +5,14 @@
<ItemGroup>
<PackageReference Include="AutoMapper" Version="10.1.1"/>
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="8.1.1"/>
- <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.3"/>
- <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.3">
+ <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.4"/>
+ <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.4">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0"/>
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.2"/>
- <PackageReference Include="SonarAnalyzer.CSharp" Version="8.19.0.28253"/>
+ <PackageReference Include="SonarAnalyzer.CSharp" Version="8.20.0.28934"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\DevHive.Data.Models\DevHive.Data.Models.csproj"/>
diff --git a/src/Data/DevHive.Data/Repositories/PostRepository.cs b/src/Data/DevHive.Data/Repositories/PostRepository.cs
index 0a88cf2..b5228c2 100644
--- a/src/Data/DevHive.Data/Repositories/PostRepository.cs
+++ b/src/Data/DevHive.Data/Repositories/PostRepository.cs
@@ -60,7 +60,6 @@ namespace DevHive.Data.Repositories
public override async Task<bool> EditAsync(Guid id, Post newEntity)
{
Post post = await this.GetByIdAsync(id);
- // var ratingId = post.Rating.Id;
this._context
.Entry(post)
@@ -76,8 +75,6 @@ namespace DevHive.Data.Repositories
foreach (var comment in newEntity.Comments)
post.Comments.Add(comment);
- // post.Rating.Id = ratingId;
-
this._context.Entry(post).State = EntityState.Modified;
return await this.SaveChangesAsync();
diff --git a/src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj b/src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj
index a55972a..2345a8e 100644
--- a/src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj
+++ b/src/Services/DevHive.Services.Models/DevHive.Services.Models.csproj
@@ -4,7 +4,7 @@
</PropertyGroup>
<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>
<ItemGroup>
<ProjectReference Include="..\..\Common\DevHive.Common\DevHive.Common.csproj"/>
diff --git a/src/Services/DevHive.Services.Tests/DevHive.Services.Tests.csproj b/src/Services/DevHive.Services.Tests/DevHive.Services.Tests.csproj
index d85eea2..4a7237b 100644
--- a/src/Services/DevHive.Services.Tests/DevHive.Services.Tests.csproj
+++ b/src/Services/DevHive.Services.Tests/DevHive.Services.Tests.csproj
@@ -4,12 +4,12 @@
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.3"/>
+ <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.4"/>
<PackageReference Include="Moq" Version="4.16.1"/>
<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.Services\DevHive.Services.csproj"/>
diff --git a/src/Services/DevHive.Services/DevHive.Services.csproj b/src/Services/DevHive.Services/DevHive.Services.csproj
index f51c1b6..2468711 100644
--- a/src/Services/DevHive.Services/DevHive.Services.csproj
+++ b/src/Services/DevHive.Services/DevHive.Services.csproj
@@ -4,15 +4,15 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0"/>
- <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.3">
+ <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.4">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
- <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.8.0"/>
+ <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.10.0"/>
<PackageReference Include="AutoMapper" Version="10.1.1"/>
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="8.1.1"/>
- <PackageReference Include="CloudinaryDotNet" Version="1.14.0"/>
- <PackageReference Include="SonarAnalyzer.CSharp" Version="8.19.0.28253"/>
+ <PackageReference Include="CloudinaryDotNet" Version="1.15.1"/>
+ <PackageReference Include="SonarAnalyzer.CSharp" Version="8.20.0.28934"/>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Data\DevHive.Data\DevHive.Data.csproj"/>
diff --git a/src/Services/DevHive.Services/Services/CloudinaryService.cs b/src/Services/DevHive.Services/Services/CloudinaryService.cs
index 57955a2..05600cc 100644
--- a/src/Services/DevHive.Services/Services/CloudinaryService.cs
+++ b/src/Services/DevHive.Services/Services/CloudinaryService.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
+using System.Text.RegularExpressions;
using System.Threading.Tasks;
using CloudinaryDotNet;
using CloudinaryDotNet.Actions;
@@ -11,6 +12,10 @@ namespace DevHive.Services.Services
{
public class CloudinaryService : ICloudService
{
+ // Regex for getting the filename without (final) filename extension
+ // So, from image.png, it will match image, and from doc.my.txt will match doc.my
+ private static Regex _imageRegex = new Regex(".*(?=\\.)");
+
private readonly Cloudinary _cloudinary;
public CloudinaryService(string cloudName, string apiKey, string apiSecret)
@@ -23,7 +28,7 @@ namespace DevHive.Services.Services
List<string> fileUrls = new();
foreach (var formFile in formFiles)
{
- string formFileId = Guid.NewGuid().ToString();
+ string fileName = _imageRegex.Match(formFile.FileName).ToString();
using (var ms = new MemoryStream())
{
@@ -32,8 +37,8 @@ namespace DevHive.Services.Services
RawUploadParams rawUploadParams = new()
{
- File = new FileDescription(formFileId, new MemoryStream(formBytes)),
- PublicId = formFileId,
+ File = new FileDescription(fileName, new MemoryStream(formBytes)),
+ PublicId = fileName,
UseFilename = true
};
@@ -47,6 +52,9 @@ namespace DevHive.Services.Services
public async Task<bool> RemoveFilesFromCloud(List<string> fileUrls)
{
+ // Workaround, this method isn't fully implemented yet
+ await Task.Run(null);
+
return true;
}
}
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"
+ }
+ }
+ ]
}
}