v6.0.0
Implemented:
- Remove dependency from Serilog.Sinks.Http and implement infrastructure code
- Implement client, which will use gzip for logs compression
Breaking changes:
- Deprecated dependency
Serilog.Sinks.Http - Replaced
IHttpClientwithILokiHttpClient
Migration guide:
You will have to migrate your code if you've implemented your own version ofILokiHttpClient. The signature of methodILokiHttpClient.PostAsync(before upgradeIHttpClient.PostAsynchas changed from Task PostAsync(string, HttpContent) to Task PostAsync(string, Stream).
Before upgrade:
public class CustomLokiHttpClient : IHttpClient
{
// Code removed for brevity...
public async Task<HttpResponseMessage> PostAsync(string requestUri, HttpContent content)
{
// Here you probably have some code updating the content,
// and then you send the request
return await httpClient.PostAsync(requestUri, content)
}
}After update:
public class CustomLokiHttpClient : ILokiHttpClient
{
// Code removed for brevity...
public async Task<HttpResponseMessage> PostAsync(string requestUri, Stream contentStream)
{
using var content = new StreamContent(contentStream);
// Here you probably have some code updating the content,
// and then you send the request
return await httpClient.PostAsync(requestUri, content)
}
}