From 77a6f26a5ce07eef4220d9e21b61edeb1b4e0333 Mon Sep 17 00:00:00 2001 From: Loretta Date: Mon, 1 Sep 2025 16:19:01 +0200 Subject: [PATCH] AcSignalRClient; AcBrowserLogWriter... --- AyCode.Core/Loggers/IAcLogWriterClientBase.cs | 4 ++ .../SignalRs/AcSignalRClientBase.cs | 1 + .../Loggers/AcBrowserConsoleLogWriter.cs | 46 +++++++++++++++++++ .../Loggers/IAcLogWriterClientBase.cs | 6 --- 4 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 AyCode.Core/Loggers/IAcLogWriterClientBase.cs create mode 100644 AyCode.Services/Loggers/AcBrowserConsoleLogWriter.cs delete mode 100644 AyCode.Services/Loggers/IAcLogWriterClientBase.cs diff --git a/AyCode.Core/Loggers/IAcLogWriterClientBase.cs b/AyCode.Core/Loggers/IAcLogWriterClientBase.cs new file mode 100644 index 0000000..12909ae --- /dev/null +++ b/AyCode.Core/Loggers/IAcLogWriterClientBase.cs @@ -0,0 +1,4 @@ +namespace AyCode.Core.Loggers; + +public interface IAcLogWriterClientBase : IAcLogWriterBase +{} \ No newline at end of file diff --git a/AyCode.Services.Server/SignalRs/AcSignalRClientBase.cs b/AyCode.Services.Server/SignalRs/AcSignalRClientBase.cs index eb8908d..3774eb4 100644 --- a/AyCode.Services.Server/SignalRs/AcSignalRClientBase.cs +++ b/AyCode.Services.Server/SignalRs/AcSignalRClientBase.cs @@ -26,6 +26,7 @@ namespace AyCode.Services.Server.SignalRs protected AcSignalRClientBase(string fullHubName, AcLoggerBase logger) { Logger = logger; + Logger.Detail(fullHubName); HubConnection = new HubConnectionBuilder() .WithUrl(fullHubName) diff --git a/AyCode.Services/Loggers/AcBrowserConsoleLogWriter.cs b/AyCode.Services/Loggers/AcBrowserConsoleLogWriter.cs new file mode 100644 index 0000000..7bafd08 --- /dev/null +++ b/AyCode.Services/Loggers/AcBrowserConsoleLogWriter.cs @@ -0,0 +1,46 @@ +using AyCode.Core.Enums; +using AyCode.Core.Loggers; +using Microsoft.JSInterop; + +namespace AyCode.Services.Loggers; + +//public interface IBrowserConsoleLogWriter : IAcLogWriterBase +//{ } + +//public abstract class LogWriterClient : AcTextLogWriterBase +//{ +// protected LogWriterClient(IJSRuntime jsRuntime) : base(AppType.Web, LogLevel.Debug) +// { } +//} + +public class AcBrowserConsoleLogWriter : AcTextLogWriterBase, IAcLogWriterClientBase +{ + protected readonly IJSRuntime JsRuntime; + + protected readonly Dictionary 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" + }; + + protected AcBrowserConsoleLogWriter(IJSRuntime jsRuntime, AppType appType = AppType.Web, LogLevel logLevel = LogLevel.Info) : base(appType, logLevel) + { + JsRuntime = jsRuntime; + } + + protected override void WriteText(string? logText, LogLevel logLevel) + { + JsRuntime.InvokeVoidAsync(InvokeConsoleNames[logLevel], logText); //logText?.Replace(Environment.NewLine, "
")); + } + + //public void Info(string message) + //{ + // ((AcLogWriterBase)this).Info(message); + // //jsRuntime.InvokeVoidAsync("console.log", logText); + //} +} \ No newline at end of file diff --git a/AyCode.Services/Loggers/IAcLogWriterClientBase.cs b/AyCode.Services/Loggers/IAcLogWriterClientBase.cs deleted file mode 100644 index 2ed1bfc..0000000 --- a/AyCode.Services/Loggers/IAcLogWriterClientBase.cs +++ /dev/null @@ -1,6 +0,0 @@ -using AyCode.Core.Loggers; - -namespace AyCode.Services.Loggers; - -public interface IAcLogWriterClientBase : IAcLogWriterBase -{} \ No newline at end of file