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.Entities;
using System.Net;
using System.Net.Http.Json;
using AyCode.Core.Helpers;
namespace AyCode.Services.Loggers;
public abstract class AcHttpClientLogItemWriter<TLogItem> : AcLogItemWriterBase<TLogItem>, IAcLogWriterClientBase where TLogItem : class, IAcLogItemClient
{
protected string _url;
protected HttpClient _httpClient;
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;
_url = url;
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);
}
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);
}
@ -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)
=> 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)
//{
// //throw new NotImplementedException();