From 4c7e92b6c633985720635009b3388b205bff2b95 Mon Sep 17 00:00:00 2001 From: LD-Reborn Date: Sun, 15 Jun 2025 23:38:58 +0200 Subject: [PATCH] Improved configurability of Elmah and Serilog for the Indexer --- src/Indexer/Program.cs | 5 ++--- src/Indexer/appsettings.json | 14 +++++++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/Indexer/Program.cs b/src/Indexer/Program.cs index d519ed3..552a335 100644 --- a/src/Indexer/Program.cs +++ b/src/Indexer/Program.cs @@ -16,7 +16,7 @@ builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); Log.Logger = new LoggerConfiguration() - .WriteTo.File("logs/log-.txt", rollingInterval: RollingInterval.Day) // Output files with daily rolling + .ReadFrom.Configuration(builder.Configuration) .CreateLogger(); builder.Logging.AddSerilog(); builder.Services.AddHttpContextAccessor(); @@ -28,7 +28,7 @@ builder.Services.AddHealthChecks() builder.Services.AddElmah(Options => { - Options.LogPath = "~/logs"; + Options.LogPath = builder.Configuration.GetValue("EmbeddingsearchIndexer:Elmah:LogFolder") ?? "~/logs"; }); var app = builder.Build(); @@ -39,7 +39,6 @@ app.Use(async (context, next) => { if (context.Request.Path.StartsWithSegments("/elmah")) { - var remoteIp = context.Connection.RemoteIpAddress?.ToString(); bool blockRequest = allowedIps is null || remoteIp is null diff --git a/src/Indexer/appsettings.json b/src/Indexer/appsettings.json index dd6e720..54557c5 100644 --- a/src/Indexer/appsettings.json +++ b/src/Indexer/appsettings.json @@ -5,12 +5,24 @@ "Microsoft.AspNetCore": "Warning" } }, + "Serilog": { + "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ], + "MinimumLevel": "Information", + "WriteTo": [ + { "Name": "Console" }, + { "Name": "File", "Args": { "path": "logs/log.txt", "rollingInterval": "Day", "retainedFileCountLimit": 7 } } + ], + "Properties": { + "Application": "Indexer" + } + }, "EmbeddingsearchIndexer": { "Elmah": { "AllowedHosts": [ "127.0.0.1", "::1" - ] + ], + "LogFolder": "./logs" } }, "AllowedHosts": "*"