Enhance configuration and logging setup

- Added Microsoft.Extensions.Configuration.Json and Serilog.Settings.Configuration packages.
- Configured Serilog to read settings from appsettings.json.
- Updated .gitignore to exclude database and upload files.
- Refactored MainWindow to improve key handling and menu structure.
- Introduced appsettings.example.json for logging configuration.
This commit is contained in:
HueByte
2026-02-19 02:53:11 +01:00
parent fe3a120134
commit 1e6ecab583
5 changed files with 96 additions and 37 deletions
+8 -9
View File
@@ -6,6 +6,7 @@ using EchoHub.Client.UI;
using EchoHub.Core.Constants;
using EchoHub.Core.DTOs;
using EchoHub.Core.Models;
using Microsoft.Extensions.Configuration;
using Serilog;
using Terminal.Gui.App;
using Terminal.Gui.Views;
@@ -26,16 +27,14 @@ public static class Program
public static void Main()
{
// Configure Serilog file logger
var logDir = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".echohub", "logs");
// Configure Serilog from appsettings.json
var configuration = new ConfigurationBuilder()
.SetBasePath(AppContext.BaseDirectory)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: false)
.Build();
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.File(
Path.Combine(logDir, "echohub-.log"),
rollingInterval: RollingInterval.Day,
retainedFileCountLimit: 7,
outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message:lj}{NewLine}{Exception}")
.ReadFrom.Configuration(configuration)
.CreateLogger();
Log.Information("EchoHub client starting");