From 6a9afeb6f44de0504058657a1f4ea5ee04d50f7d Mon Sep 17 00:00:00 2001 From: Kentin BRONGNIART Date: Tue, 4 Feb 2025 11:28:15 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20Logs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WF-WebAdmin/Model/LoggerSaveStub.cs | 70 ++++++++ .../WF-WebAdmin/Pages/DeleteUser.razor.cs | 150 +++++++++--------- WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs | 16 +- WF-WebAdmin/WF-WebAdmin/Program.cs | 4 + WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor | 6 + 5 files changed, 167 insertions(+), 79 deletions(-) create mode 100644 WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs diff --git a/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs b/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs new file mode 100644 index 0000000..28ec514 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Model/LoggerSaveStub.cs @@ -0,0 +1,70 @@ +using Microsoft.Extensions.Logging; +using System.Xml.Linq; +using static WF_WebAdmin.Model.LoggerSaveStub.CustomLoggerConfiguration; + +namespace WF_WebAdmin.Model +{ + + public sealed class LoggerSaveStub : ILogger + { + internal class CustomLoggerConfiguration + { + public int EventId { get; set; } + + public Dictionary LogLevels { get; set; } = + new() + { + [LogLevel.Information] = LogFormat.Short, + [LogLevel.Warning] = LogFormat.Short, + [LogLevel.Error] = LogFormat.Long + }; + + public enum LogFormat + { + Short, + Long + } + } + + + private readonly string name; + private readonly Func getCurrentConfig; + + + public IDisposable BeginScope(TState state) => default!; + + public bool IsEnabled(LogLevel logLevel) => + getCurrentConfig().LogLevels.ContainsKey(logLevel); + + public void Log( + LogLevel logLevel, + EventId eventId, + TState state, + Exception? exception, + Func formatter) + { + if (!IsEnabled(logLevel)) + { + return; + } + + CustomLoggerConfiguration config = getCurrentConfig(); + + if (config.EventId == 0 || config.EventId == eventId.Id) + { + switch (config.LogLevels[logLevel]) + { + case LogFormat.Short: + Console.WriteLine($"{name}: {formatter(state, exception)}"); + break; + case LogFormat.Long: + Console.WriteLine($"[{eventId.Id,2}: {logLevel,-12}] {name} - {formatter(state, exception)}"); + break; + default: + // No-op + break; + } + } + } + } +} \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs index b14bdec..f377d66 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/DeleteUser.razor.cs @@ -1,80 +1,88 @@ -using Microsoft.AspNetCore.Components; -using Microsoft.Extensions.Configuration.UserSecrets; -using WF_WebAdmin.Model; - -namespace WF_WebAdmin.Pages -{ - public partial class DeleteUser - { +using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.Configuration.UserSecrets; +using Microsoft.Extensions.Logging; +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Pages +{ + public partial class DeleteUser + { + [Inject] + public ILogger Logger { get; set; } + + public LoggerSaveStub logger { get; set; } + private List users; - private bool showPopupDelete = false; - private User userToDelete = null; - - private bool showPopupAdmin = false; - private User userToAdmin = null; - [Inject] - public HttpClient Http { get; set; } - - [Inject] - public NavigationManager NavigationManager { get; set; } - - protected override async Task OnInitializedAsync() - { - users = await Http.GetFromJsonAsync>($"{NavigationManager.BaseUri}fake-dataUsers.json"); - } - - - - // ------- Popup remove user ------- - private void ShowConfirmation(User user) - { - userToDelete = user; - showPopupDelete = true; - } - - - - private async Task RemoveUser() - { - if (userToDelete != null) - { - users.RemoveAll(u => u.Name == userToDelete.Name); - ClosePopup(); - } - } - - private void ClosePopup() - { - showPopupDelete = false; - showPopupAdmin = false; - } - - - // ------- Popup admin ------- - private void ShowConfirmationAdmin(User user) - { - userToAdmin = user; - showPopupAdmin = true; - } - - - - private async Task Admin() - { - if (!userToAdmin.IsAdmin) + private bool showPopupDelete = false; + private User userToDelete = null; + + private bool showPopupAdmin = false; + private User userToAdmin = null; + [Inject] + public HttpClient Http { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + protected override async Task OnInitializedAsync() + { + users = await Http.GetFromJsonAsync>($"{NavigationManager.BaseUri}fake-dataUsers.json"); + } + + + + // ------- Popup remove user ------- + private void ShowConfirmation(User user) + { + Logger.LogInformation( "Demande de suprétion de l'utilisateur : { Name }",user.Name); + //logger.LogInformation( "Demande de suprétion de l'utilisateur : { Name }",user.Name); + userToDelete = user; + showPopupDelete = true; + } + + + + private async Task RemoveUser() + { + if (userToDelete != null) { - userToAdmin.IsAdmin = true; - ClosePopup(); - } + users.RemoveAll(u => u.Name == userToDelete.Name); + ClosePopup(); + } + } + + private void ClosePopup() + { + showPopupDelete = false; + showPopupAdmin = false; + } + + + // ------- Popup admin ------- + private void ShowConfirmationAdmin(User user) + { + userToAdmin = user; + showPopupAdmin = true; + } + + + + private async Task Admin() + { + if (!userToAdmin.IsAdmin) + { + userToAdmin.IsAdmin = true; + ClosePopup(); + } else { - userToAdmin.IsAdmin = false; + userToAdmin.IsAdmin = false; ClosePopup(); - } - } - + } + } + } -} +} diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs index 06177e7..cc8522e 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs +++ b/WF-WebAdmin/WF-WebAdmin/Pages/Login.razor.cs @@ -12,7 +12,7 @@ namespace WF_WebAdmin.Pages private UserLogin userLogin = new UserLogin(); [Inject] - public UserLogin uLogin { get; set; } + public UserLogin uLogin { get; set; } private string ErrorConnexion; @@ -36,17 +36,17 @@ namespace WF_WebAdmin.Pages { foreach (var user in usersConnexion) { - if(userLogin.Name == user.Name && userLogin.Mdp == user.Mdp) + if (userLogin.Name == user.Name && userLogin.Mdp == user.Mdp) { - if(user.IsAdmin) + if (user.IsAdmin) { uLogin.Id = userLogin.Id; uLogin.Name = user.Name; uLogin.Image = user.Image; - - NavigationManager.NavigateTo(NavigationManager.BaseUri + "/accueil"); + + NavigationManager.NavigateTo(NavigationManager.BaseUri + "accueil"); return; - + } else { @@ -59,9 +59,9 @@ namespace WF_WebAdmin.Pages ErrorConnexion = "Connexion échouée, le nom ou le mot de passe sont incorrectes"; } } - + } - + } } } \ No newline at end of file diff --git a/WF-WebAdmin/WF-WebAdmin/Program.cs b/WF-WebAdmin/WF-WebAdmin/Program.cs index fb07a82..5471291 100644 --- a/WF-WebAdmin/WF-WebAdmin/Program.cs +++ b/WF-WebAdmin/WF-WebAdmin/Program.cs @@ -5,6 +5,8 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using WF_WebAdmin.Data; using WF_WebAdmin.Model; +using Microsoft.Extensions.Logging; + var builder = WebApplication.CreateBuilder(args); @@ -16,6 +18,8 @@ builder.Services.AddSingleton(); builder.Services.AddHttpClient(); builder.Services.AddScoped(); +builder.Logging.AddConfiguration(builder.Configuration.GetSection("Logging")); + builder.Services .AddBlazorise() .AddBootstrapProviders() diff --git a/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor b/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor index 28062bd..1dea500 100644 --- a/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor +++ b/WF-WebAdmin/WF-WebAdmin/Shared/NavMenu.razor @@ -43,6 +43,12 @@ + +