HandleError imrpovements, fixes...
This commit is contained in:
parent
21441abf34
commit
8ed185299f
|
|
@ -52,14 +52,12 @@ namespace TIAMSharedUI.Pages.Components
|
||||||
componentUpdateService.CallRequestRefresh();
|
componentUpdateService.CallRequestRefresh();
|
||||||
StateHasChanged();
|
StateHasChanged();
|
||||||
|
|
||||||
//_logger.Error($"ERRROROOROROROROROROROOROROR TEST");
|
//throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnAfterRender(bool firstRender)
|
protected override void OnAfterRender(bool firstRender)
|
||||||
{
|
{
|
||||||
base.OnAfterRender(firstRender);
|
base.OnAfterRender(firstRender);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ToggleAuthComponent(Microsoft.AspNetCore.Components.Web.MouseEventArgs e)
|
private void ToggleAuthComponent(Microsoft.AspNetCore.Components.Web.MouseEventArgs e)
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ else
|
||||||
}
|
}
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
private Exception _currentError;
|
private Exception? _currentError;
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public EventCallback<Exception> OnError { get; set; }
|
public EventCallback<Exception> OnError { get; set; }
|
||||||
|
|
@ -21,11 +21,8 @@ else
|
||||||
protected override Task OnErrorAsync(Exception exception)
|
protected override Task OnErrorAsync(Exception exception)
|
||||||
{
|
{
|
||||||
_currentError = exception;
|
_currentError = exception;
|
||||||
if (OnError.HasDelegate)
|
|
||||||
{
|
return OnError.HasDelegate ? OnError.InvokeAsync(exception) : base.OnErrorAsync(exception);
|
||||||
return OnError.InvokeAsync(exception);
|
|
||||||
}
|
|
||||||
return base.OnErrorAsync(exception);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnParametersSet()
|
protected override void OnParametersSet()
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
@inherits LayoutComponentBase
|
@inherits LayoutComponentBase
|
||||||
|
@using AyCode.Core.Extensions
|
||||||
@using AyCode.Interfaces.StorageHandlers;
|
@using AyCode.Interfaces.StorageHandlers;
|
||||||
@using AyCode.Services.Loggers
|
@using AyCode.Services.Loggers
|
||||||
@using Newtonsoft.Json;
|
@using Newtonsoft.Json;
|
||||||
|
|
@ -10,7 +11,10 @@
|
||||||
@using TIAMWebApp.Shared.Application.Models;
|
@using TIAMWebApp.Shared.Application.Models;
|
||||||
@using TIAMWebApp.Shared.Application.Utility;
|
@using TIAMWebApp.Shared.Application.Utility;
|
||||||
@using System.IdentityModel.Tokens.Jwt;
|
@using System.IdentityModel.Tokens.Jwt;
|
||||||
|
@using System.Runtime.CompilerServices
|
||||||
@using TIAM.Core.Loggers;
|
@using TIAM.Core.Loggers;
|
||||||
|
@using System.Diagnostics
|
||||||
|
@using AyCode.Utils.Extensions
|
||||||
@inject NavigationManager NavManager
|
@inject NavigationManager NavManager
|
||||||
@inject IJSRuntime jsRuntime
|
@inject IJSRuntime jsRuntime
|
||||||
@inject ISecureStorageHandler SecureStorageHandler
|
@inject ISecureStorageHandler SecureStorageHandler
|
||||||
|
|
@ -49,28 +53,50 @@
|
||||||
|
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
private ILogger _logger;
|
||||||
|
|
||||||
public PopupMessageBox PopupMessageBox { get; private set; } = default!;
|
public PopupMessageBox PopupMessageBox { get; private set; } = default!;
|
||||||
ILogger _logger;
|
|
||||||
|
|
||||||
|
protected override void OnInitialized()
|
||||||
private void HandleError(Exception exception)
|
|
||||||
{
|
{
|
||||||
|
_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
|
// Log the error to server
|
||||||
LogErrorToServer(exception);
|
//LogErrorToServer(exception);
|
||||||
|
|
||||||
// Show a notification on UI
|
// Show a notification on UI
|
||||||
ShowErrorNotification("An unexpected error occurred. Please try again later.");
|
ShowErrorNotification("An unexpected error occurred. Please try again later.");
|
||||||
|
|
||||||
jsRuntime.InvokeVoidAsync("console.error", $"An error occurred: {exception.Message}");
|
//jsRuntime.InvokeVoidAsync("console.error", $"An error occurred: {exception.Message}");
|
||||||
jsRuntime.InvokeVoidAsync("console.warn", $"Error details: {exception.StackTrace}");
|
//jsRuntime.InvokeVoidAsync("console.warn", $"Error details: {exception.StackTrace}");
|
||||||
_logger.Info($"An error occurred: {exception.Message}");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LogErrorToServer(Exception exception)
|
// private void LogErrorToServer(Exception exception)
|
||||||
{
|
// {
|
||||||
//_logger.Error($"An error occurred: {exception.Message}");
|
// //_logger.Error($"An error occurred: {exception.Message}");
|
||||||
}
|
// }
|
||||||
|
|
||||||
private void ShowErrorNotification(string message)
|
private void ShowErrorNotification(string message)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue