This commit is contained in:
jozsef.b@aycode.com 2024-05-18 13:18:28 +02:00
parent 986e70bfe5
commit f935cbb516
1 changed files with 15 additions and 4 deletions

View File

@ -2,28 +2,33 @@
using AyCode.Core.Loggers; using AyCode.Core.Loggers;
using AyCode.Entities; using AyCode.Entities;
using System.Net; using System.Net;
using System.Net.Http.Json;
using AyCode.Core.Helpers;
namespace AyCode.Services.Loggers; namespace AyCode.Services.Loggers;
public abstract class AcHttpClientLogItemWriter<TLogItem> : AcLogItemWriterBase<TLogItem>, IAcLogWriterClientBase where TLogItem : class, IAcLogItemClient public abstract class AcHttpClientLogItemWriter<TLogItem> : AcLogItemWriterBase<TLogItem>, IAcLogWriterClientBase where TLogItem : class, IAcLogItemClient
{ {
protected string _url;
protected HttpClient _httpClient; protected HttpClient _httpClient;
protected HttpClientHandler _httpClientHandler; protected HttpClientHandler _httpClientHandler;
protected AcHttpClientLogItemWriter(HttpClient httpClient) : base(AppType.Web, LogLevel.Detail) protected AcHttpClientLogItemWriter(HttpClient httpClient, string url) : base(AppType.Web, LogLevel.Detail)
{ {
//_httpClient = httpClient; //_httpClient = httpClient;
_url = url;
Initialize(httpClient.BaseAddress, httpClient.DefaultRequestVersion, httpClient.DefaultVersionPolicy); Initialize(httpClient.BaseAddress, httpClient.DefaultRequestVersion, httpClient.DefaultVersionPolicy);
} }
protected AcHttpClientLogItemWriter(string? categoryName = null) : base(categoryName) protected AcHttpClientLogItemWriter(string url, string? categoryName = null) : base(categoryName)
{ {
_url = url;
Initialize(null, HttpVersion.Version20, HttpVersionPolicy.RequestVersionOrHigher); Initialize(null, HttpVersion.Version20, HttpVersionPolicy.RequestVersionOrHigher);
} }
protected AcHttpClientLogItemWriter(AppType appType, LogLevel logLevel, string? categoryName = null) : base(appType, logLevel, categoryName) protected AcHttpClientLogItemWriter(string url, AppType appType, LogLevel logLevel, string? categoryName = null) : base(appType, logLevel, categoryName)
{ {
_url = url;
Initialize(null, HttpVersion.Version20, HttpVersionPolicy.RequestVersionOrHigher); Initialize(null, HttpVersion.Version20, HttpVersionPolicy.RequestVersionOrHigher);
} }
@ -40,6 +45,12 @@ public abstract class AcHttpClientLogItemWriter<TLogItem> : AcLogItemWriterBase<
public override void Write(AppType appType, LogLevel logLevel, string? logText, string? callerMemberName, string? categoryName, string? errorType, string? exMessage) 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)); => WriteLogItem(CreateLogItem(DateTime.UtcNow, appType, Environment.CurrentManagedThreadId, logLevel, logText, callerMemberName, categoryName, errorType, exMessage));
protected override void WriteLogItemCallback(TLogItem logItem)
{
//logItem.ThreadId = Environment.CurrentManagedThreadId;
_httpClient.PostAsJsonAsync(_url, logItem).Forget();
}
//protected override void WriteLogItem(TLogItem logItem, Action? callback = null) //protected override void WriteLogItem(TLogItem logItem, Action? callback = null)
//{ //{
// //throw new NotImplementedException(); // //throw new NotImplementedException();