Add request logging

This commit is contained in:
2024-04-17 17:30:18 +02:00
parent 4bcf15cb14
commit 14757c3efe
2 changed files with 22 additions and 3 deletions

View File

@@ -2,6 +2,7 @@ using ConnectionsAPI.Config;
using ConnectionsAPI.Database;
using ConnectionsAPI.Utility;
using Microsoft.EntityFrameworkCore;
using System.Net;
namespace ConnectionsAPI
{
@@ -55,10 +56,26 @@ namespace ConnectionsAPI
app.UsePathBase("/connections-api");
}
//app.UseHttpsRedirection();
app.UseFastEndpoints();
// middleware to log requests and their resulting statuses
var loggerFactory = app.Services.GetRequiredService<ILoggerFactory>();
var requestLogger = loggerFactory.CreateLogger("ConnectionsAPI.RequestLogger");
app.Use(async (ctx, next) =>
{
await next();
if (ctx != null)
{
// log the path and status of the request/response
requestLogger.LogTrace(
"{requestPath} -- {requestStatusCode} {requestStatusText}",
ctx.Request.Path,
ctx.Response.StatusCode,
((HttpStatusCode)ctx.Response.StatusCode).ToString()
);
}
});
// if not dev env, migrate database
if (!app.Environment.IsDevelopment())
{

View File

@@ -2,7 +2,9 @@
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
"Microsoft.AspNetCore": "Warning",
"ConnectionsAPI.RequestLogger": "Trace",
"Microsoft.EntityFrameworkCore.Database.Command": "Warning"
}
},
"AllowedHosts": "*"