Skip to content

Commit 22df679

Browse files
v8.0.0
1 parent 441beb3 commit 22df679

File tree

7 files changed

+36
-30
lines changed

7 files changed

+36
-30
lines changed

.editorconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,8 @@ dotnet_diagnostic.SA1108.severity = silent
274274
dotnet_diagnostic.SA1012.severity = error
275275
dotnet_diagnostic.SA1500.severity = error
276276
dotnet_diagnostic.SA1316.severity = error
277+
csharp_prefer_system_threading_lock = true:suggestion
278+
dotnet_diagnostic.MA0132.severity = error
277279

278280
[*.{cs,vb}]
279281
dotnet_style_operator_placement_when_wrapping = beginning_of_line

.github/workflows/dotnet-core-desktop.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
strategy:
1616
matrix:
17-
configuration: [Release, Debug]
17+
configuration: [Release]
1818

1919
runs-on: windows-latest # For a list of available runner types, refer to
2020
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
@@ -25,13 +25,13 @@ jobs:
2525

2626
steps:
2727
- name: Checkout
28-
uses: actions/checkout@v2
28+
uses: actions/checkout@v4.2.2
2929
with:
3030
fetch-depth: 0
3131

3232
# Install the .NET Core workload
3333
- name: Install .NET Core
34-
uses: actions/setup-dotnet@v4.1.0
34+
uses: actions/setup-dotnet@v4.2.0
3535
with:
3636
dotnet-version: 9.0.x
3737

@@ -56,7 +56,7 @@ jobs:
5656

5757
# Publish Artifacts
5858
- name: 'Publish Artifacts'
59-
uses: actions/[email protected].0
59+
uses: actions/[email protected].3
6060
with:
6161
name: artifactory_${{ matrix.configuration }}
6262
path: ./Analogy.LogViewer.ElasticCommonSchema/bin/${{ matrix.configuration }}
@@ -67,20 +67,18 @@ jobs:
6767
if: ${{ github.event_name == 'push'}}
6868
runs-on: windows-latest
6969
steps:
70+
- name: Setup NuGet.exe for use with actions
71+
uses: NuGet/[email protected]
7072
- name: 'Download Artifact'
7173
uses: actions/[email protected]
7274
with:
7375
name: artifactory_Release
7476
- name: 'Dotnet NuGet Push'
7577
run: |
7678
Get-ChildItem ./ -Filter *.nupkg |
77-
Where-Object { !$_.Name.Contains('preview') } |
7879
ForEach-Object { dotnet nuget push $_ --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{secrets.NUGET_API_KEY}} }
7980
shell: pwsh
8081

81-
82-
- name: Setup NuGet.exe for use with actions
83-
uses: NuGet/[email protected]
8482
concurrency:
8583
group: ${{ github.ref }}
8684
cancel-in-progress: true

Analogy.LogViewer.ElasticCommonSchema/Analogy.LogViewer.ElasticCommonSchema.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111
<RepositoryUrl>https://github.com/Analogy-LogViewer/Analogy.LogViewer.ElasticCommonSchema</RepositoryUrl>
1212
<PackageReleaseNotes></PackageReleaseNotes>
1313
<PackageIcon>AnalogyECS128x128.png</PackageIcon>
14-
<Version>7.2.0</Version>
14+
<Version>8.0.0</Version>
1515
<Company>Analogy.LogViewer</Company>
1616
<PackageReadmeFile>README.md</PackageReadmeFile>
1717
</PropertyGroup>
1818

1919
<ItemGroup>
20-
<PackageReference Include="Analogy.CommonUtilities" Version="7.2.0" />
21-
<PackageReference Include="Analogy.LogViewer.Interfaces" Version="7.2.0" />
22-
<PackageReference Include="Analogy.LogViewer.Template" Version="7.2.0" />
20+
<PackageReference Include="Analogy.CommonUtilities" Version="8.0.0" />
21+
<PackageReference Include="Analogy.LogViewer.Interfaces" Version="8.0.0" />
22+
<PackageReference Include="Analogy.LogViewer.Template" Version="8.0.0" />
2323
<PackageReference Include="Elastic.CommonSchema" Version="8.12.3" />
2424
<PackageReference Include="Elastic.CommonSchema.Serilog" Version="8.12.3" />
2525
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />

Analogy.LogViewer.ElasticCommonSchema/DataTypes/LogEventReader.cs

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,27 @@ namespace Analogy.LogViewer.ElasticCommonSchema.DataTypes
1717
/// </summary>
1818
public class LogEventReader : IDisposable
1919
{
20-
private static readonly MessageTemplateParser Parser = new MessageTemplateParser();
21-
private readonly TextReader _text;
22-
private readonly JsonSerializer _serializer;
23-
private readonly IMessageFields _messageFields;
24-
private int _lineNumber;
20+
private static readonly MessageTemplateParser Parser = new MessageTemplateParser();
21+
private readonly TextReader _text;
22+
private readonly JsonSerializer _serializer;
23+
private readonly IMessageFields _messageFields;
24+
private int _lineNumber;
2525

2626
/// <summary>
2727
/// Construct a <see cref="LogEventReader"/>.
2828
/// </summary>
2929
/// <param name="text">Text to read from.</param>
3030
/// <param name="messageFields"></param>
3131
/// <param name="serializer">If specified, a JSON serializer used when converting event documents.</param>
32-
public LogEventReader(TextReader text, IMessageFields messageFields, JsonSerializer serializer = null)
32+
public LogEventReader(TextReader text, IMessageFields messageFields, JsonSerializer serializer = null)
3333
{
3434
_messageFields = messageFields;
3535
_text = text ?? throw new ArgumentNullException(nameof(text));
3636
_serializer = serializer ?? CreateSerializer();
3737
}
3838

3939
/// <inheritdoc/>
40-
public void Dispose()
40+
public void Dispose()
4141
{
4242
_text.Dispose();
4343
}
@@ -48,7 +48,7 @@ public void Dispose()
4848
/// <param name="result"></param>
4949
/// <returns>True if an event could be read; false if the end-of-file was encountered.</returns>
5050
/// <exception cref="InvalidDataException">The data format is invalid.</exception>
51-
public bool TryRead(out ParsingResult result)
51+
public bool TryRead(out ParsingResult result)
5252
{
5353
var line = _text.ReadLine();
5454
_lineNumber++;
@@ -79,7 +79,7 @@ public bool TryRead(out ParsingResult result)
7979
/// <param name="document">The event in compact-JSON.</param>
8080
/// <param name="serializer">If specified, a JSON serializer used when converting event documents.</param>
8181
/// <returns>The log event.</returns>
82-
public LogEvent ReadFromString(string document, JsonSerializer serializer = null)
82+
public LogEvent ReadFromString(string document, JsonSerializer serializer = null)
8383
{
8484
if (document == null)
8585
{
@@ -96,7 +96,7 @@ public LogEvent ReadFromString(string document, JsonSerializer serializer = null
9696
/// </summary>
9797
/// <param name="jObject">The deserialized compact-JSON event.</param>
9898
/// <returns>The log event.</returns>
99-
public static LogEvent ReadFromJObject(JObject jObject, IMessageFields messageFields)
99+
public static LogEvent ReadFromJObject(JObject jObject, IMessageFields messageFields)
100100
{
101101
if (jObject == null)
102102
{
@@ -106,7 +106,7 @@ public static LogEvent ReadFromJObject(JObject jObject, IMessageFields messageFi
106106
return ReadFromJObject(1, jObject, messageFields);
107107
}
108108

109-
private static LogEvent ReadFromJObject(int lineNumber, JObject jObject, IMessageFields messageFields)
109+
private static LogEvent ReadFromJObject(int lineNumber, JObject jObject, IMessageFields messageFields)
110110
{
111111
var timestamp = GetRequiredTimestampField(lineNumber, jObject, messageFields.Timestamp);
112112

@@ -192,7 +192,7 @@ private static LogEvent ReadFromJObject(int lineNumber, JObject jObject, IMessag
192192
return new LogEvent(timestamp, level, exception, parsedTemplate, properties);
193193
}
194194

195-
private static Exception TryPopulateException(string header, Exception exception, JObject data)
195+
private static Exception TryPopulateException(string header, Exception exception, JObject data)
196196
{
197197
if (data.TryGetValue("ExceptionDetail", out var info))
198198
{
@@ -206,7 +206,7 @@ private static Exception TryPopulateException(string header, Exception exception
206206
return new TextException(header);
207207
}
208208

209-
private static bool TryGetOptionalField(int lineNumber, JObject data, string field, out string value)
209+
private static bool TryGetOptionalField(int lineNumber, JObject data, string field, out string value)
210210
{
211211
JToken token;
212212
if (!data.TryGetValue(field, out token) || token.Type == JTokenType.Null)
@@ -224,7 +224,7 @@ private static bool TryGetOptionalField(int lineNumber, JObject data, string fie
224224
return true;
225225
}
226226

227-
private static DateTimeOffset GetRequiredTimestampField(int lineNumber, JObject data, string field)
227+
private static DateTimeOffset GetRequiredTimestampField(int lineNumber, JObject data, string field)
228228
{
229229
if (!data.TryGetValue(field, out var token) || token.Type == JTokenType.Null)
230230
{
@@ -238,8 +238,11 @@ private static DateTimeOffset GetRequiredTimestampField(int lineNumber, JObject
238238
{
239239
return offset;
240240
}
241-
242-
return (DateTime)dt;
241+
if (dt is DateTime time)
242+
{
243+
return new DateTimeOffset(time, TimeSpan.Zero);
244+
}
245+
return DateTimeOffset.MinValue;
243246
}
244247

245248
if (token.Type != JTokenType.String)
@@ -251,7 +254,7 @@ private static DateTimeOffset GetRequiredTimestampField(int lineNumber, JObject
251254
return DateTimeOffset.Parse(text);
252255
}
253256

254-
private static JsonSerializer CreateSerializer()
257+
private static JsonSerializer CreateSerializer()
255258
{
256259
return JsonSerializer.Create(new JsonSerializerSettings
257260
{

Analogy.LogViewer.ElasticCommonSchema/IAnalogy/OfflineDataProvider.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Analogy.Interfaces;
2+
using Analogy.Interfaces.DataTypes;
23
using Analogy.LogViewer.ElasticCommonSchema.DataTypes;
34
using Analogy.LogViewer.ElasticCommonSchema.Managers;
45
using Analogy.LogViewer.ElasticCommonSchema.Parsers;

Analogy.LogViewer.ElasticCommonSchema/Parsers/EcsDocumentUtils.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Analogy.Interfaces;
2+
using Analogy.Interfaces.DataTypes;
23
using Elastic.CommonSchema;
34
using System;
45
using System.Collections.Generic;
@@ -24,7 +25,7 @@ string GetMessage(EcsDocument ecsDocument)
2425
var entry = EcsDocument.Deserialize(line.Trim());
2526
AnalogyLogMessage message = new()
2627
{
27-
Date = entry.Timestamp?.DateTime ?? DateTime.MinValue,
28+
Date = entry.Timestamp ?? DateTimeOffset.MinValue,
2829
Level = AnalogyLogMessage.ParseLogLevelFromString(entry.Log?.Level ?? "Unknown"),
2930
RawText = line,
3031
RawTextType = AnalogyRowTextType.JSON,

Analogy.LogViewer.ElasticCommonSchema/Parsers/EcsJsonFileParser.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Analogy.Interfaces;
2+
using Analogy.Interfaces.DataTypes;
23
using Analogy.LogViewer.ElasticCommonSchema.DataTypes;
34
using Analogy.LogViewer.ElasticCommonSchema.Managers;
45
using Elastic.CommonSchema;

0 commit comments

Comments
 (0)