HandleError imrpovements, fixes...

This commit is contained in:
jozsef.b@aycode.com 2024-05-19 07:50:50 +02:00
parent 21441abf34
commit 8ed185299f
3 changed files with 41 additions and 20 deletions

View File

@ -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)

View File

@ -13,7 +13,7 @@ else
}
@code {
private Exception _currentError;
private Exception? _currentError;
[Parameter]
public EventCallback<Exception> 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()

View File

@ -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<MainLayout>(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)
{