From 20b1ab4cf2a901988488a334270aebd6ba6be540 Mon Sep 17 00:00:00 2001 From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN> Date: Wed, 22 May 2024 11:22:32 +0200 Subject: [PATCH] SignalR logger --- .../AyCode.Entities.Server.csproj | 4 ++++ AyCode.Entities.Server/LogItems/AcLogItem.cs | 9 ++++++-- AyCode.Entities/AyCode.Entities.csproj | 4 ++++ AyCode.Entities/LogItems/AcLogItemClient.cs | 23 +++++++++++-------- .../SignalRs/IAcSignalRHubServer.cs | 7 ++++++ AyCode.Services/SignalRs/IAcSignalRHubBase.cs | 11 +++++++++ AyCode.Services/SignalRs/SignalRTags.cs | 7 ++++++ 7 files changed, 53 insertions(+), 12 deletions(-) create mode 100644 AyCode.Services.Server/SignalRs/IAcSignalRHubServer.cs create mode 100644 AyCode.Services/SignalRs/IAcSignalRHubBase.cs create mode 100644 AyCode.Services/SignalRs/SignalRTags.cs diff --git a/AyCode.Entities.Server/AyCode.Entities.Server.csproj b/AyCode.Entities.Server/AyCode.Entities.Server.csproj index cd7adb0..4cd69d2 100644 --- a/AyCode.Entities.Server/AyCode.Entities.Server.csproj +++ b/AyCode.Entities.Server/AyCode.Entities.Server.csproj @@ -6,6 +6,10 @@ enable + + + + diff --git a/AyCode.Entities.Server/LogItems/AcLogItem.cs b/AyCode.Entities.Server/LogItems/AcLogItem.cs index 6aa0d20..f732160 100644 --- a/AyCode.Entities.Server/LogItems/AcLogItem.cs +++ b/AyCode.Entities.Server/LogItems/AcLogItem.cs @@ -2,16 +2,21 @@ using System.ComponentModel.DataAnnotations.Schema; using AyCode.Core.Enums; using AyCode.Core.Loggers; +using AyCode.Entities.LogItems; +using MessagePack; +using KeyAttribute = MessagePack.KeyAttribute; namespace AyCode.Entities.Server.LogItems; +[MessagePackObject] [Table("LogItem")] public class AcLogItem : AcLogItemClient, IAcLogItem { - [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] + [Key(55)] + [System.ComponentModel.DataAnnotations.Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } - public int LogHeaderId { get; set; } + [Key(60)] public int LogHeaderId { get; set; } public AcLogItem() : base() { } diff --git a/AyCode.Entities/AyCode.Entities.csproj b/AyCode.Entities/AyCode.Entities.csproj index 1437f67..370e3ce 100644 --- a/AyCode.Entities/AyCode.Entities.csproj +++ b/AyCode.Entities/AyCode.Entities.csproj @@ -14,4 +14,8 @@ + + + + diff --git a/AyCode.Entities/LogItems/AcLogItemClient.cs b/AyCode.Entities/LogItems/AcLogItemClient.cs index 0ec1c13..d8cd49c 100644 --- a/AyCode.Entities/LogItems/AcLogItemClient.cs +++ b/AyCode.Entities/LogItems/AcLogItemClient.cs @@ -1,19 +1,22 @@ using AyCode.Core.Enums; +using AyCode.Core.Loggers; +using MessagePack; -namespace AyCode.Core.Loggers; +namespace AyCode.Entities.LogItems; +[MessagePackObject] public class AcLogItemClient : IAcLogItemClient { - public DateTime TimeStampUtc { get; set; } + [Key(5)] public DateTime TimeStampUtc { get; set; } - public AppType AppType { get; set; } - public LogLevel LogLevel { get; set; } - public int ThreadId { get; set; } = Environment.CurrentManagedThreadId; - public string? CategoryName { get; set; } - public string? CallerName { get; set; } - public string? Text { get; set; } - public string? ErrorType { get; set; } - public string? Exception { get; set; } + [Key(15)] public AppType AppType { get; set; } + [Key(20)] public LogLevel LogLevel { get; set; } + [Key(25)] public int ThreadId { get; set; } = Environment.CurrentManagedThreadId; + [Key(30)] public string? CategoryName { get; set; } + [Key(35)] public string? CallerName { get; set; } + [Key(40)] public string? Text { get; set; } + [Key(45)] public string? ErrorType { get; set; } + [Key(50)] public string? Exception { get; set; } public override string? ToString() => Text ?? base.ToString(); diff --git a/AyCode.Services.Server/SignalRs/IAcSignalRHubServer.cs b/AyCode.Services.Server/SignalRs/IAcSignalRHubServer.cs new file mode 100644 index 0000000..f45e5d8 --- /dev/null +++ b/AyCode.Services.Server/SignalRs/IAcSignalRHubServer.cs @@ -0,0 +1,7 @@ +using AyCode.Services.SignalRs; + +namespace AyCode.Services.Server.SignalRs; + +public interface IAcSignalRHubServer : IAcSignalRHubBase +{ +} \ No newline at end of file diff --git a/AyCode.Services/SignalRs/IAcSignalRHubBase.cs b/AyCode.Services/SignalRs/IAcSignalRHubBase.cs new file mode 100644 index 0000000..8a0600a --- /dev/null +++ b/AyCode.Services/SignalRs/IAcSignalRHubBase.cs @@ -0,0 +1,11 @@ +namespace AyCode.Services.SignalRs; + +public interface IAcSignalRHubClient : IAcSignalRHubBase +{ +} + +public interface IAcSignalRHubBase +{ + Task Get(string user, int messageTag); + Task Post(string user, int messageTag, object? message); +} \ No newline at end of file diff --git a/AyCode.Services/SignalRs/SignalRTags.cs b/AyCode.Services/SignalRs/SignalRTags.cs new file mode 100644 index 0000000..79a30fa --- /dev/null +++ b/AyCode.Services/SignalRs/SignalRTags.cs @@ -0,0 +1,7 @@ +namespace AyCode.Services.SignalRs; + +public static class SignalRTags +{ + public const int GetTransfersAsync = 5; + public const int PostTransfersAsync = 6; +} \ No newline at end of file