diff --git a/TIAMSharedUI/Pages/Components/AuthComponent.razor.cs b/TIAMSharedUI/Pages/Components/AuthComponent.razor.cs index f472713d..6d6ff65d 100644 --- a/TIAMSharedUI/Pages/Components/AuthComponent.razor.cs +++ b/TIAMSharedUI/Pages/Components/AuthComponent.razor.cs @@ -52,14 +52,12 @@ namespace TIAMSharedUI.Pages.Components componentUpdateService.CallRequestRefresh(); StateHasChanged(); - //_logger.Error($"ERRROROOROROROROROROROOROROR TEST"); + //throw new NotImplementedException(); } protected override void OnAfterRender(bool firstRender) { base.OnAfterRender(firstRender); - - } private void ToggleAuthComponent(Microsoft.AspNetCore.Components.Web.MouseEventArgs e) diff --git a/TIAMSharedUI/Shared/Components/TiamErrorBoundaryComponent.razor b/TIAMSharedUI/Shared/Components/TiamErrorBoundaryComponent.razor index 19971c0f..04a5aad2 100644 --- a/TIAMSharedUI/Shared/Components/TiamErrorBoundaryComponent.razor +++ b/TIAMSharedUI/Shared/Components/TiamErrorBoundaryComponent.razor @@ -13,7 +13,7 @@ else } @code { - private Exception _currentError; + private Exception? _currentError; [Parameter] public EventCallback OnError { get; set; } @@ -21,11 +21,8 @@ else protected override Task OnErrorAsync(Exception exception) { _currentError = exception; - if (OnError.HasDelegate) - { - return OnError.InvokeAsync(exception); - } - return base.OnErrorAsync(exception); + + return OnError.HasDelegate ? OnError.InvokeAsync(exception) : base.OnErrorAsync(exception); } protected override void OnParametersSet() diff --git a/TIAMSharedUI/Shared/MainLayout.razor b/TIAMSharedUI/Shared/MainLayout.razor index 76eb1ce5..6448e7bc 100644 --- a/TIAMSharedUI/Shared/MainLayout.razor +++ b/TIAMSharedUI/Shared/MainLayout.razor @@ -1,4 +1,5 @@ @inherits LayoutComponentBase +@using AyCode.Core.Extensions @using AyCode.Interfaces.StorageHandlers; @using AyCode.Services.Loggers @using Newtonsoft.Json; @@ -10,7 +11,10 @@ @using TIAMWebApp.Shared.Application.Models; @using TIAMWebApp.Shared.Application.Utility; @using System.IdentityModel.Tokens.Jwt; +@using System.Runtime.CompilerServices @using TIAM.Core.Loggers; +@using System.Diagnostics +@using AyCode.Utils.Extensions @inject NavigationManager NavManager @inject IJSRuntime jsRuntime @inject ISecureStorageHandler SecureStorageHandler @@ -49,28 +53,50 @@ @code { + private ILogger _logger; public PopupMessageBox PopupMessageBox { get; private set; } = default!; - ILogger _logger; + - - private void HandleError(Exception exception) + protected override void OnInitialized() { + _logger = new LoggerClient(LogWriters.ToArray()); + + base.OnInitialized(); + } + + private void HandleError(Exception exception)//, [CallerMemberName] string? memberName = null) + { + exception.GetCategoryAndMemberNameFromStackTraceString(out var memberName, out var categoryName); + + if (memberName.IsNullOrWhiteSpace()) memberName = "..."; //ne "HandleError" memberName-el logoljunk! - J. + + try + { + _logger.Error($"An error occurred: {exception.Message}", exception, categoryName, memberName); + } + catch (Exception loggerException) + { + jsRuntime.InvokeVoidAsync("console.error", $"{nameof(MainLayout)}->HandleError; Logger error! {loggerException.Message}"); + + jsRuntime.InvokeVoidAsync("console.error", $"{nameof(MainLayout)}->{memberName}; An error occurred: {exception.Message}"); + jsRuntime.InvokeVoidAsync("console.warn", $"{nameof(MainLayout)}->{memberName}; Error details: {exception.StackTrace}"); + } + // Log the error to server - LogErrorToServer(exception); + //LogErrorToServer(exception); // Show a notification on UI ShowErrorNotification("An unexpected error occurred. Please try again later."); - jsRuntime.InvokeVoidAsync("console.error", $"An error occurred: {exception.Message}"); - jsRuntime.InvokeVoidAsync("console.warn", $"Error details: {exception.StackTrace}"); - _logger.Info($"An error occurred: {exception.Message}"); + //jsRuntime.InvokeVoidAsync("console.error", $"An error occurred: {exception.Message}"); + //jsRuntime.InvokeVoidAsync("console.warn", $"Error details: {exception.StackTrace}"); } - private void LogErrorToServer(Exception exception) - { - //_logger.Error($"An error occurred: {exception.Message}"); - } + // private void LogErrorToServer(Exception exception) + // { + // //_logger.Error($"An error occurred: {exception.Message}"); + // } private void ShowErrorNotification(string message) {