@page "/Settings/Logs" @inject IMessageService MessageService @inject ILogger Logger @foreach (var provider in Providers) { @if (Providers.Any(p => p.Type == LoggingProviderType.SignalR && p.Enabled)) {
} @code { Settings Settings = SettingService.GetSettings(); string RootPath = Path.GetPathRoot(Directory.GetCurrentDirectory()); List Providers = new(); protected override void OnInitialized() { Providers = Settings.Logs.Providers.ToList(); } void Save() { try { Settings.Logs.Providers = Providers; SettingService.SaveSettings(Settings); MessageService.Success("Settings saved!"); } catch (Exception ex) { MessageService.Error("An unknown error occurred."); Logger.LogError(ex, "An unknown error occurred."); } } void AddProvider() { Providers.Add(new LoggingProvider() { Type = LoggingProviderType.Console, Enabled = true, Name = "Console" }); } void RemoveProvider(LoggingProvider provider) { Providers.Remove(provider); } void OnPathSelected(string path, LoggingProvider context) { var appPath = Directory.GetCurrentDirectory(); if (path != null && path.StartsWith(appPath)) path = path.Substring(appPath.Length).TrimStart(Path.DirectorySeparatorChar).TrimEnd(Path.DirectorySeparatorChar); context.ConnectionString = path; } }