This commit is contained in:
Loretta 2025-09-25 14:16:24 +02:00
parent 3c7e8e501f
commit 987c6146bf
58 changed files with 86 additions and 135 deletions

View File

@ -6,6 +6,10 @@ namespace TIAM.Core.Consts;
public static class TiamConstClient
{
public static string DefaultLocale = "en-US";
public static string DevAdminHubName = "DevAdminHub";
public static string LoggerHubName = "TiamLoggerHub";
public static Guid TransferProductId = Guid.Parse("814b5495-c2e9-4f1d-a73f-37cd5d353078");
public static Guid[] DevAdminIds = new Guid[2] { Guid.Parse("dcf451d2-cc4c-4ac2-8c1f-da00041be1fd"), Guid.Parse("4cbaed43-2465-4d99-84f1-c8bc6b7025f7") };
public static Guid[] SysAdmins = new Guid[3]

View File

@ -1,6 +1,7 @@
using System.Net.Http.Json;
using System.Text;
using System.Text.Json;
using AyCode.Core.Loggers;
using AyCode.Interfaces.StorageHandlers;
using AyCode.Services.Loggers;
using Newtonsoft.Json;

View File

@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Core.Loggers;
using TIAM.Core.Loggers;
using TIAMSharedUI.Shared.Components;
using TIAMWebApp.Shared.Application.Interfaces;

View File

@ -4,6 +4,7 @@
@using AyCode.Services.Loggers
@using System.Reflection
@using AyCode.Blazor.Components.Components
@using AyCode.Core.Loggers
@using TIAM.Entities.Products
@using TIAM.Entities.Transfers
@using TIAM.Models.Dtos.Users

View File

@ -15,6 +15,7 @@ using System.Text.RegularExpressions;
using AyCode.Core.Consts;
using TIAM.Core.Loggers;
using AyCode.Services.Loggers;
using AyCode.Core.Loggers;
namespace TIAMSharedUI.Pages.Components

View File

@ -1,4 +1,5 @@
@page "/formulaone"
@using AyCode.Core.Loggers
@using AyCode.Interfaces.StorageHandlers;
@using TIAM.Entities.Transfers
@using TIAMSharedUI.Shared.Components

View File

@ -1,4 +1,5 @@
@page "/"
@using AyCode.Core.Loggers
@using AyCode.Interfaces.StorageHandlers;
@using BlazorAnimation
@using TIAMSharedUI.Shared.Components

View File

@ -3,6 +3,7 @@
@using TIAMWebApp.Shared.Application.Utility
@using Newtonsoft.Json
@using System.IdentityModel.Tokens.Jwt
@using AyCode.Core.Loggers
@using AyCode.Interfaces.StorageHandlers;
@using AyCode.Services.Loggers
@using TIAM.Core.Loggers

View File

@ -3,6 +3,7 @@ using System.IdentityModel.Tokens.Jwt;
using System.Text.Json;
using AyCode.Core.Extensions;
using AyCode.Core.Helpers;
using AyCode.Core.Loggers;
using TIAMWebApp.Shared.Application.Models.ClientSide;
using TIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Interfaces;

View File

@ -14,6 +14,7 @@
@using TIAMWebApp.Shared.Application.Services
@using TIAMWebApp.Shared.Application.Utility
@using AyCode.Core.Extensions
@using AyCode.Core.Loggers
@layout AdminLayout
@inject IPopulationStructureDataProvider DataProvider
@inject ISessionServiceClient SessionService

View File

@ -1,6 +1,7 @@
@page "/sumuppayment/{checkoutId}"
@using AyCode.Services.Loggers
@using System.Text.Json.Serialization
@using AyCode.Core.Loggers
@using TIAMWebApp.Shared.Application.Services
@using TIAMWebApp.Shared.Application.Utility
@inject IEnumerable<IAcLogWriterClientBase> LogWriters

View File

@ -1,4 +1,5 @@
@page "/dbtest"
@using AyCode.Core.Loggers
@using TIAMSharedUI.Pages.Components
@using TIAMWebApp.Shared.Application.Interfaces
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels

View File

@ -1,4 +1,5 @@
@page "/tictactoe"
@using AyCode.Core.Loggers
@using Microsoft.AspNetCore.SignalR.Client
@using AyCode.Services.Loggers
@using TIAMWebApp.Shared.Application.Utility

View File

@ -1,6 +1,7 @@
@page "/book-a-tour/{TransferDestinationId}/{PriceCategory:int}"
@using AyCode.Core.Consts
@using AyCode.Core.Helpers
@using AyCode.Core.Loggers
@using TIAM.Models.Dtos.Users
@using TIAM.Services
@using TIAMSharedUI.Pages.Components

View File

@ -1,6 +1,7 @@
@page "/transfer"
@using AyCode.Core.Consts
@using AyCode.Core.Helpers
@using AyCode.Core.Loggers
@using TIAM.Models.Dtos.Users
@using TIAM.Services
@using TIAMSharedUI.Pages.Components

View File

@ -1,4 +1,5 @@
@using AyCode.Core.Enums
@using AyCode.Core.Loggers
@using AyCode.Services.Loggers
@using BlazorAnimation
@using TIAM.Core.Consts

View File

@ -1,4 +1,5 @@
@page "/driver/cars/{driverId:guid}"
@using AyCode.Core.Loggers
@using BlazorAnimation
@using TIAM.Entities.Drivers
@using TIAM.Models.Dtos.Users

View File

@ -22,6 +22,7 @@
@using AyCode.Core.Consts
@using AyCode.Core
@using AyCode.Core.Helpers
@using AyCode.Core.Loggers
@using AyCode.Services.SignalRs
@using DevExpress.Data.Filtering
@using TIAM.Entities.Emails

View File

@ -1,6 +1,7 @@
@page "/user/createAndManageTransfer"
@using AyCode.Core.Consts
@using AyCode.Core.Helpers
@using AyCode.Core.Loggers
@using TIAM.Entities.Products
@using TIAM.Entities.ServiceProviders
@using TIAM.Entities.Transfers

View File

@ -16,6 +16,7 @@ using TIAMWebApp.Shared.Application.Models.ClientSide.UI;
using TIAMWebApp.Shared.Application.Services;
using TIAMWebApp.Shared.Application.Utility;
using System.Collections.Generic;
using AyCode.Core.Loggers;
namespace TIAMSharedUI.Pages.User.Hotels
{

View File

@ -20,6 +20,7 @@
@using AyCode.Core.Consts
@using AyCode.Core
@using AyCode.Core.Helpers
@using AyCode.Core.Loggers
@using DevExpress.Data.Filtering
@using TIAM.Entities.Emails
@using TIAMSharedUI.Shared.Components.BaseComponents

View File

@ -24,6 +24,7 @@
@using AyCode.Core.Consts
@using AyCode.Core
@using AyCode.Core.Helpers
@using AyCode.Core.Loggers
@using DevExpress.Data.Filtering
@using TIAMSharedUI.Shared.Components.BaseComponents
@inherits BasePageComponent

View File

@ -1,5 +1,6 @@
@page "/user/serviceprovider/{id}"
@using AyCode.Core
@using AyCode.Core.Loggers
@using AyCode.Services.Loggers
@using BlazorAnimation
@using TIAM.Entities.ServiceProviders

View File

@ -36,6 +36,7 @@
@rendermode RenderMode.InteractiveWebAssembly
@page "/user/media"
@using System.Net.Http.Headers
@using AyCode.Core.Loggers
@using AyCode.Services.Loggers
@using TIAMSharedUI.Shared
@using TIAMWebApp.Shared.Application.Interfaces

View File

@ -13,6 +13,7 @@
@using AyCode.Services.Loggers
@using TIAMWebApp.Shared.Application.Services
@using AyCode.Core.Helpers
@using AyCode.Core.Loggers
@using TIAMSharedUI.Shared.Components.Grids
@using TIAMSharedUI.Pages.User.CardComponents
@inherits BasePageComponent

View File

@ -1,5 +1,6 @@
@page "/user/serviceproviderold/{id}"
@using AyCode.Core
@using AyCode.Core.Loggers
@using AyCode.Services.Loggers
@using TIAM.Entities.ServiceProviders
@using TIAM.Resources

View File

@ -14,6 +14,7 @@
@using TIAMWebApp.Shared.Application.Services
@using AyCode.Interfaces.Addresses
@using AyCode.Core
@using AyCode.Core.Loggers
@inject IServiceProviderDataService serviceProviderDataService
@inject IUserDataService userDataService
@inject ITransferDataService transferDataService

View File

@ -12,6 +12,7 @@
@using TIAMSharedUI.Shared.Components.Grids
@using TIAMSharedUI.Pages.Components.EditComponents
@using AyCode.Core
@using AyCode.Core.Loggers
@inject IServiceProviderDataService serviceProviderDataService
@inject IUserDataService userDataService
@inject ITransferDataService transferDataService

View File

@ -1,4 +1,5 @@
@using TIAM.Entities.ServiceProviders
@using AyCode.Core.Loggers
@using TIAM.Entities.ServiceProviders
@using TIAM.Entities.Users
@using TIAM.Models.Dtos.Users
@using TIAMWebApp.Shared.Application.Interfaces

View File

@ -1,4 +1,5 @@
@page "/sysadmin/logs"
@using AyCode.Core.Loggers
@using BlazorAnimation
@using TIAM.Entities.Users
@using TIAM.Models.Dtos.Users

View File

@ -20,6 +20,7 @@
@using TIAM.Entities.Emails
@using AyCode.Blazor.Components.Services
@using AyCode.Core.Extensions
@using AyCode.Core.Loggers
@using TIAM.Models
@using TIAM.Services
@inherits UserBasePageComponent

View File

@ -15,6 +15,7 @@
@using AyCode.Interfaces.Addresses
@using TIAM.Entities.Emails
@using AyCode.Core
@using AyCode.Core.Loggers
@inject IServiceProviderDataService serviceProviderDataService
@inject IUserDataService userDataService
@inject ITransferDataService transferDataService

View File

@ -19,6 +19,7 @@
@using AyCode.Interfaces.Addresses
@using AyCode.Core
@using AyCode.Core.Extensions
@using AyCode.Core.Loggers
@inject IStringLocalizer<TIAMResources> Localizer
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject AdminSignalRClient AdminSignalRClient;

View File

@ -18,6 +18,7 @@
@using TIAMWebApp.Shared.Application.Services
@using AyCode.Interfaces.Addresses
@using AyCode.Core
@using AyCode.Core.Loggers
@inject IStringLocalizer<TIAMResources> Localizer
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject AdminSignalRClient AdminSignalRClient;

View File

@ -9,6 +9,7 @@
@using TIAM.Core.Loggers
@using AyCode.Core
@using AyCode.Core.Extensions
@using AyCode.Core.Loggers
@using AyCode.Interfaces.Profiles.Dtos
@using TIAM.Entities.Addresses
@using TIAM.Entities.Profiles

View File

@ -10,6 +10,7 @@
@using AyCode.Services.Loggers
@using TIAM.Core.Loggers
@using AyCode.Core
@using AyCode.Core.Loggers
@using TIAMSharedUI.Shared.Components.Grids
@inject IServiceProviderDataService ServiceProviderDataService
@inject IEnumerable<IAcLogWriterClientBase> LogWriters

View File

@ -11,6 +11,7 @@
@using AyCode.Services.Loggers
@using TIAM.Core.Loggers
@using AyCode.Core
@using AyCode.Core.Loggers
@using TIAM.Services
@using TIAMSharedUI.Shared.Components.Grids
@inject IServiceProviderDataService ServiceProviderDataService

View File

@ -13,6 +13,7 @@
@using TIAM.Core.Loggers
@using AyCode.Core
@using AyCode.Core.Extensions
@using AyCode.Core.Loggers
@using TIAMSharedUI.Shared.Components.Grids
@inject IServiceProviderDataService ServiceProviderDataService
@inject IEnumerable<IAcLogWriterClientBase> LogWriters

View File

@ -22,6 +22,7 @@
@using AyCode.Core.Consts
@using AyCode.Core
@using AyCode.Core.Helpers
@using AyCode.Core.Loggers
@using DevExpress.Data.Filtering
@using TIAM.Entities.Emails
@using TIAMSharedUI.Shared.Components.BaseComponents

View File

@ -1,5 +1,6 @@
@inherits LayoutComponentBase
@using AyCode.Core.Loggers
@using Microsoft.AspNetCore.Authorization
@using TIAMSharedUI.Pages
@using TIAMSharedUI.Shared.Users

View File

@ -7,6 +7,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Core.Loggers;
using TIAM.Resources;
using TIAMSharedUI.Pages.User;
using TIAMSharedUI.Resources;

View File

@ -1,5 +1,6 @@
@using TIAMWebApp.Shared.Application.Utility
@using AyCode.Core.Extensions
@using AyCode.Core.Loggers
@using AyCode.Services.Loggers
@using AyCode.Utils.Extensions
@inject IJSRuntime jsRuntime

View File

@ -1,4 +1,5 @@
@inherits LayoutComponentBase
@using AyCode.Core.Loggers
@using AyCode.Interfaces.StorageHandlers;
@using AyCode.Services.Loggers
@using TIAMSharedUI.Pages

View File

@ -1,4 +1,5 @@
@using AyCode.Services.Loggers
@using AyCode.Core.Loggers
@using AyCode.Services.Loggers
@using Microsoft.AspNetCore.Components.Authorization
@using Newtonsoft.Json
@using TIAM.Core.Loggers

View File

@ -12,6 +12,7 @@ using TIAMWebApp.Shared.Application.Services;
using TIAMWebApp.Shared.Application.Utility;
using AyCode.Services.Loggers;
using System.Net;
using AyCode.Core.Loggers;
using Microsoft.AspNetCore.Components.Authorization;
using TIAM.Models;
using TIAM.Models.PageViewModels;

View File

@ -1,6 +1,7 @@
using AyCode.Services.Loggers;
using System.Net.Http.Json;
using System.Text.Json;
using AyCode.Core.Loggers;
using TIAM.Entities.Permissions;
using TIAM.Models.Dtos.Products;
using TIAMWebApp.Shared.Application.Interfaces;

View File

@ -14,6 +14,7 @@ using AyCode.Core.Extensions;
using System.Text.Json;
using TIAM.Models;
using AyCode.Blazor.Components.Services;
using AyCode.Core.Loggers;
using TIAMWebApp.Shared.Application.Services;

View File

@ -1,9 +1,19 @@
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.IdentityModel.Tokens;
using Microsoft.OpenApi.Models;
using System.Text;
using AyCode.Core.Loggers;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Http.Json;
using Microsoft.AspNetCore.ResponseCompression;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens;
using Microsoft.OpenApi;
using Microsoft.OpenApi.Models;
using System.IO.Compression;
using System.Text;
using System.Text.Json.Serialization;
using TIAM.Core.Consts;
using TIAM.Core.Loggers;
using TIAM.Database;
using TIAM.Database.DataLayers.Admins;
@ -14,15 +24,6 @@ using TIAM.Entities.Emails;
using TIAM.Services.Server;
using TIAMWebApp.Server.Controllers;
using TIAMWebApp.Server.Services;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.AspNetCore.ResponseCompression;
using System.IO.Compression;
using System.Text.Json.Serialization;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.AspNetCore.Http.Json;
using Microsoft.EntityFrameworkCore;
using Microsoft.OpenApi;
using Microsoft.Extensions.DependencyInjection;
var builder = WebApplication.CreateBuilder(args);
@ -216,8 +217,8 @@ app.MapControllers();
app.MapBlazorHub();
app.MapHub<SignalRHub>("/TiamChatHub");
app.MapHub<LoggerSignalRHub>("/TiamLoggerHub");
app.MapHub<DevAdminSignalRHub>("/DevAdminHub");
app.MapHub<LoggerSignalRHub>($"/{TiamConstClient.LoggerHubName}");
app.MapHub<DevAdminSignalRHub>($"/{TiamConstClient.DevAdminHubName}");
app.MapHub<GameHub>("/gamehub");
app.MapFallbackToFile("index.html");

View File

@ -1,35 +1,10 @@
using AyCode.Core.Consts;
using AyCode.Entities.Server.LogItems;
using AyCode.Services.Server.SignalRs;
using Microsoft.AspNetCore.SignalR;
namespace TIAMWebApp.Server.Services;
public class LoggerSignalRHub(LoggerToLoggerApiController logger) : Hub
{
public void AddLogItem(AcLogItem? logItem)
{
try
{
if (logItem == null)
{
logger.Error("AddLogItem; LogItem == null");
//_logger.Writer<ConsoleLogWriter>().Detail("");
return;
}
//logItem.LogHeaderId = ???
logItem.TimeStampUtc = DateTime.UtcNow;
logger.Write(logItem);
//_logger.Writer<IAcConsoleLogWriter>()?.Write(logItem.AppType, logItem.LogLevel, logItem.Text, logItem.CallerName, logItem.CategoryName, logItem.ErrorType, logItem.Exception);
//_logger.Writer<DbLogItemWriter>().WriteLogItemAsync(logItem);
}
catch (Exception ex)
{
Console.WriteLine($@"ERROR!!! {nameof(LoggerSignalRHub)}->AddLogItem; ex: {ex.Message}{AcEnv.NL}{AcEnv.NL}{ex}");
}
}
}
public class LoggerSignalRHub(LoggerToLoggerApiController logger) : AcLoggerSignalRHub<LoggerToLoggerApiController>(logger)
{ }

View File

@ -1,10 +1,12 @@
using AyCode.Blazor.Components.Services;
using AyCode.Core.Consts;
using AyCode.Core.Helpers;
using AyCode.Core.Loggers;
using AyCode.Services.Loggers;
using AyCode.Services.Server.SignalRs;
using AyCode.Services.SignalRs;
using Microsoft.Extensions.DependencyInjection;
using TIAM.Core.Consts;
using TIAM.Entities.Drivers;
using TIAM.Entities.Transfers;
using TIAM.Entities.Users;
@ -18,7 +20,7 @@ namespace TIAMWebApp.Shared.Application.Services
{
public class AdminSignalRClient : AcSignalRClientBase, IUserApiControllerClient, ITransferApiControllerClient
{
public AdminSignalRClient(/*IServiceProvider serviceProvider, */IEnumerable<IAcLogWriterClientBase> logWriters) : base($"{Setting.BaseUrl}/DevAdminHub", new LoggerClient(nameof(AdminSignalRClient), logWriters.ToArray()))
public AdminSignalRClient(/*IServiceProvider serviceProvider, */IEnumerable<IAcLogWriterClientBase> logWriters) : base($"{Setting.BaseUrl}/{TiamConstClient.DevAdminHubName}", new LoggerClient(nameof(AdminSignalRClient), logWriters.ToArray()))
{
//var a = ActivatorUtilities.GetServiceOrCreateInstance<TransferDataService>(serviceProvider);
ConstHelper.NameByValue<SignalRTags>(0);

View File

@ -3,6 +3,7 @@ using DevExpress.Office;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;
using AyCode.Core.Loggers;
using TIAM.Core.Loggers;
using TIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Models.ClientSide;

View File

@ -1,6 +1,7 @@
using AyCode.Interfaces.StorageHandlers;
using Newtonsoft.Json;
using System.Net.Http.Json;
using AyCode.Core.Loggers;
using AyCode.Services.Loggers;
using AyCode.Services.SignalRs;
using TIAM.Entities.Products;

View File

@ -7,6 +7,7 @@ using TIAMWebApp.Shared.Application.Utility;
using TIAM.Core.Loggers;
using System.Text.Json;
using System.Text.Json.Serialization;
using AyCode.Core.Loggers;
namespace TIAMWebApp.Shared.Application.Services
{

View File

@ -1,6 +1,7 @@
using AyCode.Services.Loggers;
using System.Net.Http.Json;
using System.Text.Json;
using AyCode.Core.Loggers;
using TIAM.Core.Loggers;
using TIAM.Entities.Transfers;
using TIAMWebApp.Shared.Application.Interfaces;

View File

@ -2,6 +2,7 @@
using System.Text;
using System.Text.Json;
using AyCode.Core.Extensions;
using AyCode.Core.Loggers;
using AyCode.Interfaces.StorageHandlers;
using AyCode.Services.Loggers;
using AyCode.Utils.Extensions;

View File

@ -2,6 +2,7 @@
using AyCode.Core.Loggers;
using AyCode.Services.Loggers;
using Microsoft.JSInterop;
using TIAM.Core.Consts;
namespace TIAMWebApp.Shared.Application.Utility;
@ -14,34 +15,6 @@ namespace TIAMWebApp.Shared.Application.Utility;
// { }
//}
public class BrowserConsoleLogWriter : AcTextLogWriterBase, IAcLogWriterClientBase
public class BrowserConsoleLogWriter(IJSRuntime jsRuntime) : AcBrowserConsoleLogWriter(jsRuntime, AppType.Web, TiamConstClient.DefaultLogLevelClient)
{
private readonly IJSRuntime _jsRuntime;
private readonly Dictionary<LogLevel, string> _invokeConsoleNames = new()
{
[LogLevel.Detail] = "console.info", //trace
[LogLevel.Trace] = "console.info",
[LogLevel.Debug] = "console.info",
[LogLevel.Info] = "console.info",
[LogLevel.Suggest] = "console.info",
[LogLevel.Warning] = "console.warn",
[LogLevel.Error] = "console.error"
};
public BrowserConsoleLogWriter(IJSRuntime jsRuntime) : base(AppType.Web, LogLevel.Info)
{
_jsRuntime = jsRuntime;
}
protected override void WriteText(string? logText, LogLevel logLevel)
{
_jsRuntime.InvokeVoidAsync(_invokeConsoleNames[logLevel], logText); //logText?.Replace(Environment.NewLine, "<br />"));
}
//public void Info(string message)
//{
// ((AcLogWriterBase)this).Info(message);
// //jsRuntime.InvokeVoidAsync("console.log", logText);
//}
}

View File

@ -1,18 +0,0 @@
namespace TIAMWebApp.Shared.Application.Utility
{
//public class LogToBrowserConsole
//{
// private readonly IJSRuntime jsRuntime;
// public LogToBrowserConsole(IJSRuntime jsRuntime)
// {
// this.jsRuntime = jsRuntime;
// }
// public void LogToBC(string message)
// {
// jsRuntime.InvokeVoidAsync("console.log", message);
// }
//}
}

View File

@ -5,55 +5,18 @@ using AyCode.Entities;
using AyCode.Entities.LogItems;
using AyCode.Services.Loggers;
using Microsoft.AspNetCore.SignalR.Client;
using TIAM.Core.Consts;
using TIAMWebApp.Shared.Application.Models.ClientSide;
namespace TIAMWebApp.Shared.Application.Utility
{
public class SignaRClientLogItemWriter : AcLogItemWriterBase<AcLogItemClient>, IAcLogWriterClientBase
public class SignaRClientLogItemWriter : AcSignaRClientLogItemWriter
{
private readonly HubConnection _hubConnection = new HubConnectionBuilder()
.WithUrl($"{Setting.BaseUrl}/TiamLoggerHub")
//.AddMessagePackProtocol(options => options.SerializerOptions = MessagePackSerializerOptions.Standard.WithSecurity(MessagePackSecurity.UntrustedData))
.Build();
public SignaRClientLogItemWriter() : this(AppType.Web, LogLevel.Detail)
{ }
public SignaRClientLogItemWriter(AppType appType, LogLevel logLevel, string? categoryName = null) : base(appType, logLevel, categoryName)
public SignaRClientLogItemWriter() : this(AppType.Web, LogLevel.Detail, null)
{
_hubConnection.StartAsync().Forget();
}
public async Task StartConnection()
public SignaRClientLogItemWriter(AppType appType, LogLevel logLevel, string? categoryName = null) : base($"{Setting.BaseUrl}/{TiamConstClient.LoggerHubName}", appType, logLevel, categoryName)
{
if (_hubConnection.State == HubConnectionState.Disconnected)
await _hubConnection.StartAsync();
if (_hubConnection.State != HubConnectionState.Connected)
await TaskHelper.WaitToAsync(() => _hubConnection.State == HubConnectionState.Connected, 10000, 10, 25);
}
public async Task StopConnection()
{
await _hubConnection.StopAsync();
await _hubConnection.DisposeAsync();
}
public override void Write(AppType appType, LogLevel logLevel, string? logText, string? callerMemberName, string? categoryName, string? errorType, string? exMessage)
=> WriteLogItem(CreateLogItem(DateTime.UtcNow, appType, Environment.CurrentManagedThreadId, logLevel, logText, callerMemberName, categoryName, errorType, exMessage));
protected override async void WriteLogItemCallback(AcLogItemClient logItem)
{
//Ez fontos, mert a signalR nem küldi a DateTime.Kind-ot! A szeró oldalon kap egy utc DateTime-ot, ami a kliens lokális DateTime-ját tartalmazza! - J.
logItem.TimeStampUtc = logItem.TimeStampUtc.ToUniversalTime();
await StartConnection();
if (_hubConnection.State != HubConnectionState.Connected)
return;
//var refreshToken = Setting.UserBasicDetails?.RefreshToken ?? Guid.NewGuid().ToString("N");
_hubConnection.SendAsync("AddLogItem", /*refreshToken,*/ logItem).Forget();
}
}
}