Skip to content

Commit f6535b7

Browse files
author
Alex McCool
committed
upgrade to ES 6x
2 parents 5df9ec5 + 8254d1a commit f6535b7

File tree

6 files changed

+49
-43
lines changed

6 files changed

+49
-43
lines changed

src/ElasticLogger.Test/ElasticLogger.Test.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="2.2.0" />
1414
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.2.0" />
1515
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.2.0" />
16-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.*"/>
16+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.*" />
1717

1818
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.6.0" />
19-
<PackageReference Include="NEST" Version="2.5.8" />
19+
<PackageReference Include="NEST" Version="6.0.2" />
2020
<PackageReference Include="xunit" Version="2.4.1" />
2121
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1">
2222
<PrivateAssets>all</PrivateAssets>

src/ElasticLogger.Test/MiscTests.cs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,9 @@
1-
using System;
2-
using System.Diagnostics;
31
using System.IO;
4-
using System.Net;
5-
using System.Linq;
6-
using System.Net.Http;
72
using System.Threading.Tasks;
83
using AM.Extensions.Logging.ElasticSearch;
9-
using Elasticsearch.Net;
10-
using ElasticsearchInside;
11-
using Microsoft.Extensions.Configuration;
12-
using Microsoft.Extensions.DependencyInjection;
13-
using Microsoft.Extensions.Logging;
14-
using Microsoft.Extensions.Options;
15-
using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;
16-
using Nest;
174
using Newtonsoft.Json;
18-
using Newtonsoft.Json.Linq;
195
using Xunit;
206
using Xunit.Abstractions;
21-
using LogLevel = Microsoft.Extensions.Logging.LogLevel;
227

238
namespace ElasticLogger.Test
249
{

src/ElasticSearch.Extensions.Logging/AM.Extensions.Logging.ElasticSearch.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
</PropertyGroup>
1919

2020
<ItemGroup>
21-
<PackageReference Include="Elasticsearch.Net" Version="2.5.8" />
21+
<PackageReference Include="Elasticsearch.Net" Version="6.0.0" />
2222
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.1.1" />
2323
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="2.1.1" />
2424
<PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="2.1.1" />
25-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-beta2-18618-05">
25+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0">
2626
<PrivateAssets>all</PrivateAssets>
2727
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
2828
</PackageReference>

src/ElasticSearch.Extensions.Logging/ElasticSearchLogger.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
using System;
1+
using Elasticsearch.Net;
2+
using Microsoft.Extensions.Logging;
3+
using Newtonsoft.Json;
4+
using Newtonsoft.Json.Linq;
5+
using System;
26
using System.Collections.Concurrent;
37
using System.Collections.Generic;
48
using System.Diagnostics;
@@ -72,9 +76,9 @@ public bool IsEnabled(LogLevel logLevel)
7276
return logLevel != LogLevel.None && logLevel >= _logLevel;
7377
}
7478

75-
public void Log<TState>(LogLevel logLevel, EventId eventId,
76-
TState state,
77-
Exception exception,
79+
public void Log<TState>(LogLevel logLevel, EventId eventId,
80+
TState state,
81+
Exception exception,
7882
Func<TState, Exception, string> formatter)
7983
{
8084
if (!IsEnabled(logLevel))
@@ -93,7 +97,7 @@ public void Log<TState>(LogLevel logLevel, EventId eventId,
9397
}
9498

9599
var message = formatter(state, exception);
96-
100+
97101
WriteTrace(Name, logLevel, eventId.Id, message, Guid.Empty, exception);
98102
}
99103

@@ -114,7 +118,7 @@ protected void WriteTrace(
114118
{
115119
updatedMessage = ((Exception)data).Message;
116120

117-
121+
118122
payload = JObject.FromObject(data, serializerIgnoreReferenceLoop);
119123
}
120124
else if (data is XPathNavigator)

src/ElasticSearch.Extensions.Logging/ElasticSearchLoggerProvider.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,10 @@ public IElasticLowLevelClient Client
6767
{
6868
var singleNode = new SingleNodeConnectionPool(_endpoint);
6969

70-
var cc = new ConnectionConfiguration(singleNode,
71-
connectionSettings => new ElasticsearchJsonNetSerializer())
72-
.RequestTimeout(TimeSpan.FromSeconds(15))
73-
.EnableHttpPipelining()
74-
.ThrowExceptions();
70+
var cc = new ConnectionConfiguration(singleNode, new ElasticsearchJsonNetSerializer())
71+
.EnableHttpPipelining()
72+
.EnableHttpCompression()
73+
.ThrowExceptions();
7574

7675
//the 1.x serializer we needed to use, as the default SimpleJson didnt work right
7776
//Elasticsearch.Net.JsonNet.ElasticsearchJsonNetSerializer()
@@ -137,7 +136,10 @@ private async Task WriteDirectlyToESAsBatch(IEnumerable<JObject> jos)
137136

138137
try
139138
{
140-
await Client.BulkPutAsync<VoidResponse>(Index, DocumentType, bbo.ToArray(), br => br.Refresh(false));
139+
//await Client.BulkPutAsync<VoidResponse>(Index, DocumentType, bbo.ToArray(), br => br.Refresh(false));
140+
await Client.BulkPutAsync<VoidResponse>(Index, DocumentType,
141+
PostData.MultiJson(bbo.ToArray()),
142+
new BulkRequestParameters { Refresh = Refresh.False });
141143
}
142144
catch (Exception ex)
143145
{

src/ElasticSearch.Extensions.Logging/ElasticsearchJsonNetSerializer.cs

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
using System.IO;
21
using System.Reflection;
2+
using Elasticsearch.Net;
3+
using Newtonsoft.Json;
4+
using System;
5+
using System.IO;
36
using System.Text;
47
using System.Threading;
58
using System.Threading.Tasks;
6-
using Elasticsearch.Net;
7-
using Newtonsoft.Json;
89

910
namespace AM.Extensions.Logging.ElasticSearch
1011
{
@@ -15,7 +16,7 @@ public class ElasticsearchJsonNetSerializer : IElasticsearchSerializer
1516
/// <summary>
1617
/// The size of the buffer to use when writing the serialized request
1718
/// to the request stream
18-
/// Performance tests as part of https://github.com/elastic/elasticsearch-net/issues/1899 indicate this
19+
/// Performance tests as part of https://github.com/elastic/elasticsearch-net/issues/1899 indicate this
1920
/// to be a good compromise buffer size for performance throughput and bytes allocated.
2021
/// </summary>
2122
protected virtual int BufferSize => 1024;
@@ -40,31 +41,41 @@ private JsonSerializerSettings CreateSettings()
4041
return settings;
4142
}
4243

44+
public object Deserialize(Type type, Stream stream)
45+
{
46+
var settings = this._settings;
47+
return _Deserialize(type, stream, settings);
48+
}
4349

4450
public T Deserialize<T>(Stream stream)
4551
{
4652
var settings = this._settings;
47-
return _Deserialize<T>(stream, settings);
53+
return (T)_Deserialize(typeof(T), stream, settings);
4854
}
4955

50-
public async Task<T> DeserializeAsync<T>(Stream responseStream, CancellationToken cancellationToken = new CancellationToken())
56+
public Task<object> DeserializeAsync(Type type, Stream stream, CancellationToken cancellationToken = default(CancellationToken))
5157
{
52-
return this.Deserialize<T>(responseStream);
58+
return Task.FromResult(_Deserialize(type, stream));
5359
}
5460

55-
protected internal T _Deserialize<T>(Stream stream, JsonSerializerSettings settings = null)
61+
protected internal object _Deserialize(Type type, Stream stream, JsonSerializerSettings settings = null)
5662
{
5763
settings = settings ?? this._settings;
5864
var serializer = JsonSerializer.Create(settings);
5965
var jsonTextReader = new JsonTextReader(new StreamReader(stream));
60-
var t = (T) serializer.Deserialize(jsonTextReader, typeof(T));
66+
var t = serializer.Deserialize(jsonTextReader, type);
6167
return t;
6268
}
6369

70+
public Task<T> DeserializeAsync<T>(Stream stream, CancellationToken cancellationToken = default(CancellationToken))
71+
{
72+
var result = this.Deserialize<T>(stream);
73+
return Task.FromResult(result);
74+
}
6475

65-
public void Serialize(object data, Stream writableStream, SerializationFormatting formatting = SerializationFormatting.Indented)
76+
public void Serialize<T>(T data, Stream stream, SerializationFormatting formatting = SerializationFormatting.Indented)
6677
{
67-
using (var writer = new StreamWriter(writableStream, ExpectedEncoding, BufferSize, leaveOpen: true))
78+
using (var writer = new StreamWriter(stream, ExpectedEncoding, BufferSize, leaveOpen: true))
6879
using (var jsonWriter = new JsonTextWriter(writer))
6980
{
7081
_defaultSerializer.Serialize(jsonWriter, data);
@@ -73,6 +84,10 @@ public void Serialize(object data, Stream writableStream, SerializationFormattin
7384
}
7485
}
7586

76-
public IPropertyMapping CreatePropertyMapping(MemberInfo memberInfo) => null;
87+
public Task SerializeAsync<T>(T data, Stream stream, SerializationFormatting formatting = SerializationFormatting.Indented, CancellationToken cancellationToken = default(CancellationToken))
88+
{
89+
Serialize(data, stream, formatting);
90+
return Task.CompletedTask;
91+
}
7792
}
7893
}

0 commit comments

Comments
 (0)