Skip to content
This repository was archived by the owner on Jun 1, 2024. It is now read-only.

Commit 147003c

Browse files
Vadim Hatsuramivano
authored andcommitted
delete ElasticSearch.Net dependency for formatter package (#234)
1 parent 2750db4 commit 147003c

File tree

8 files changed

+86
-15
lines changed

8 files changed

+86
-15
lines changed

src/Serilog.Formatting.Elasticsearch/ElasticsearchJsonFormatter.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818
using System.IO;
1919
using System.Linq;
2020
using System.Reflection;
21+
#if !NO_SERIALIZATION
2122
using System.Runtime.Serialization;
22-
using Elasticsearch.Net;
23+
#endif
2324
using Serilog.Events;
2425
using Serilog.Parsing;
2526

@@ -30,7 +31,7 @@ namespace Serilog.Formatting.Elasticsearch
3031
/// </summary>
3132
public class ElasticsearchJsonFormatter : DefaultJsonFormatter
3233
{
33-
readonly IElasticsearchSerializer _serializer;
34+
readonly ISerializer _serializer;
3435
readonly bool _inlineFields;
3536
readonly bool _formatStackTraceAsArray;
3637

@@ -77,7 +78,7 @@ public ElasticsearchJsonFormatter(
7778
string closingDelimiter = null,
7879
bool renderMessage = true,
7980
IFormatProvider formatProvider = null,
80-
IElasticsearchSerializer serializer = null,
81+
ISerializer serializer = null,
8182
bool inlineFields = false,
8283
bool renderMessageTemplate = true,
8384
bool formatStackTraceAsArray = false)
@@ -323,7 +324,7 @@ protected override void WriteLiteralValue(object value, TextWriter output)
323324
{
324325
if (_serializer != null)
325326
{
326-
string jsonString = _serializer.SerializeToString(value, SerializationFormatting.None);
327+
string jsonString = _serializer.SerializeToString(value);
327328
output.Write(jsonString);
328329
return;
329330
}

src/Serilog.Formatting.Elasticsearch/ExceptionAsObjectJsonFormatter.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
using System;
1717
using System.IO;
18-
using Elasticsearch.Net;
1918

2019
namespace Serilog.Formatting.Elasticsearch
2120
{
@@ -48,7 +47,7 @@ public ExceptionAsObjectJsonFormatter(bool omitEnclosingObject = false,
4847
string closingDelimiter = null,
4948
bool renderMessage = false,
5049
IFormatProvider formatProvider = null,
51-
IElasticsearchSerializer serializer = null,
50+
ISerializer serializer = null,
5251
bool inlineFields = false,
5352
bool formatStackTraceAsArray = false)
5453
: base(omitEnclosingObject, closingDelimiter, renderMessage, formatProvider, serializer, inlineFields, true, formatStackTraceAsArray)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace Serilog.Formatting.Elasticsearch
2+
{
3+
/// <summary>
4+
/// Defines a method to serialize custom value to string
5+
/// </summary>
6+
public interface ISerializer
7+
{
8+
/// <summary>
9+
/// Serializes object to string
10+
/// </summary>
11+
/// <param name="value">Object to serialization</param>
12+
/// <returns>String representation of object</returns>
13+
string SerializeToString(object value);
14+
}
15+
}

src/Serilog.Formatting.Elasticsearch/Serilog.Formatting.ElasticSearch.Symbols.nuspec

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@
1111
<iconUrl>http://serilog.net/images/serilog-sink-nuget.png</iconUrl>
1212
<tags>serilog logging elasticsearch</tags>
1313
<dependencies>
14-
<dependency id="Serilog" version="2.6.0" />
15-
<dependency id="Elasticsearch.Net" version="6.0.0" />
14+
<dependency id="Serilog" version="2.8.0" />
1615
</dependencies>
1716
</metadata>
1817
<files>
19-
<file src="bin\Release\Serilog.Sinks.Elasticsearch.dll" target="lib\net45" />
20-
<file src="bin\Release\Serilog.Sinks.Elasticsearch.pdb" target="lib\net45" />
18+
<file src="bin\Release\Serilog.Formatting.Elasticsearch.dll" target="lib\net45" />
19+
<file src="bin\Release\Serilog.Formatting.Elasticsearch.pdb" target="lib\net45" />
2120
<file src="**\*.cs" target="src" />
2221
</files>
2322
</package>

src/Serilog.Formatting.Elasticsearch/Serilog.Formatting.ElasticSearch.nuspec

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
<repository type="git" url="https://github.com/serilog/serilog-sinks-elasticsearch" />
1313
<tags>serilog logging elasticsearch formatters</tags>
1414
<dependencies>
15-
<dependency id="Serilog" version="2.6.0" />
16-
<dependency id="Elasticsearch.Net" version="6.0.0" />
15+
<dependency id="Serilog" version="2.8.0" />
1716
</dependencies>
1817
</metadata>
1918
<files>

src/Serilog.Formatting.Elasticsearch/Serilog.Formatting.Elasticsearch.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
</PropertyGroup>
3131

3232
<ItemGroup>
33-
<PackageReference Include="Elasticsearch.Net" Version="6.0.0" />
3433
<PackageReference Include="Serilog" Version="2.8.0" />
3534
</ItemGroup>
3635

src/Serilog.Sinks.Elasticsearch/Sinks/ElasticSearch/ElasticsearchSinkState.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public static ITextFormatter CreateDefaultFormatter(ElasticsearchSinkOptions opt
9393
return new ElasticsearchJsonFormatter(
9494
formatProvider: options.FormatProvider,
9595
closingDelimiter: string.Empty,
96-
serializer: options.Serializer,
96+
serializer: options.Serializer != null ? new SerializerAdapter(options.Serializer) : null,
9797
inlineFields: options.InlineFields,
9898
formatStackTraceAsArray: options.FormatStackTraceAsArray
9999
);
@@ -104,7 +104,7 @@ public static ITextFormatter CreateDefaultDurableFormatter(ElasticsearchSinkOpti
104104
return new ElasticsearchJsonFormatter(
105105
formatProvider: options.FormatProvider,
106106
closingDelimiter: Environment.NewLine,
107-
serializer: options.Serializer,
107+
serializer: options.Serializer != null ? new SerializerAdapter(options.Serializer) : null,
108108
inlineFields: options.InlineFields,
109109
formatStackTraceAsArray: options.FormatStackTraceAsArray
110110
);
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
using System;
2+
using System.IO;
3+
using System.Threading;
4+
using System.Threading.Tasks;
5+
using Elasticsearch.Net;
6+
using Serilog.Formatting.Elasticsearch;
7+
8+
namespace Serilog.Sinks.Elasticsearch
9+
{
10+
internal class SerializerAdapter : ISerializer, IElasticsearchSerializer
11+
{
12+
private readonly IElasticsearchSerializer _elasticsearchSerializer;
13+
14+
internal SerializerAdapter(IElasticsearchSerializer elasticsearchSerializer)
15+
{
16+
_elasticsearchSerializer = elasticsearchSerializer ??
17+
throw new ArgumentNullException(nameof(elasticsearchSerializer));
18+
}
19+
20+
public object Deserialize(Type type, Stream stream)
21+
{
22+
return _elasticsearchSerializer.Deserialize(type, stream);
23+
}
24+
25+
public T Deserialize<T>(Stream stream)
26+
{
27+
return _elasticsearchSerializer.Deserialize<T>(stream);
28+
}
29+
30+
public Task<object> DeserializeAsync(Type type, Stream stream,
31+
CancellationToken cancellationToken = default(CancellationToken))
32+
{
33+
return _elasticsearchSerializer.DeserializeAsync(type, stream, cancellationToken);
34+
}
35+
36+
public Task<T> DeserializeAsync<T>(Stream stream, CancellationToken cancellationToken = default(CancellationToken))
37+
{
38+
return _elasticsearchSerializer.DeserializeAsync<T>(stream, cancellationToken);
39+
}
40+
41+
public void Serialize<T>(T data, Stream stream,
42+
SerializationFormatting formatting = SerializationFormatting.Indented)
43+
{
44+
_elasticsearchSerializer.Serialize(data, stream, formatting);
45+
}
46+
47+
public Task SerializeAsync<T>(T data, Stream stream,
48+
SerializationFormatting formatting = SerializationFormatting.Indented,
49+
CancellationToken cancellationToken = default(CancellationToken))
50+
{
51+
return _elasticsearchSerializer.SerializeAsync(data, stream, formatting, cancellationToken);
52+
}
53+
54+
public string SerializeToString(object value)
55+
{
56+
return _elasticsearchSerializer.SerializeToString(value, SerializationFormatting.None);
57+
}
58+
}
59+
}

0 commit comments

Comments
 (0)