Skip to content

Commit 78ee3cb

Browse files
committed
Break the SerilogExpressions dependency, unify Seq.Syntax references to the shipped one
1 parent c47f7c5 commit 78ee3cb

File tree

8 files changed

+39
-27
lines changed

8 files changed

+39
-27
lines changed

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"sdk": {
3-
"version": "8.0.101"
3+
"version": "8.0.100"
44
}
55
}

src/SeqCli/Apps/AppLoader.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
using System.Linq;
2020
using System.Reflection;
2121
using Seq.Apps;
22+
using Seq.Syntax.Expressions;
2223
using Serilog;
2324

2425
namespace SeqCli.Apps;
@@ -30,10 +31,11 @@ class AppLoader : IDisposable
3031
// These are used for interop between the host process and the app. The
3132
// app _must_ be able to load on the unified version.
3233
readonly Assembly[] _contracts =
33-
{
34+
[
3435
typeof(SeqApp).Assembly,
3536
typeof(Log).Assembly,
36-
};
37+
typeof(SerilogExpression).Assembly
38+
];
3739

3840
public AppLoader(string packageBinaryPath)
3941
{

src/SeqCli/Cli/Commands/IngestCommand.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
using Serilog;
2525
using Serilog.Core;
2626
using Serilog.Events;
27-
using Serilog.Expressions;
2827

2928
namespace SeqCli.Cli.Commands;
3029

@@ -95,7 +94,7 @@ protected override async Task<int> Run()
9594
if (_filter != null)
9695
{
9796
var eval = SeqSyntax.CompileExpression(_filter);
98-
filter = evt => ExpressionResult.IsTrue(eval(evt));
97+
filter = evt => Seq.Syntax.Expressions.ExpressionResult.IsTrue(eval(evt));
9998
}
10099

101100
var connection = _connectionFactory.Connect(_connection);

src/SeqCli/Cli/Commands/PrintCommand.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
using System.IO;
1717
using System.Threading.Tasks;
1818
using Newtonsoft.Json;
19+
using Seq.Syntax.Expressions;
1920
using SeqCli.Cli.Features;
2021
using SeqCli.Config;
2122
using SeqCli.Ingestion;
@@ -81,7 +82,15 @@ var theme
8182
applyThemeToRedirectedOutput: applyThemeToRedirectedOutput);
8283

8384
if (_filter != null)
84-
outputConfiguration.Filter.ByIncludingOnly(_filter);
85+
{
86+
if (!SerilogExpression.TryCompile(_filter, out var filter, out var error))
87+
{
88+
Log.Error("The specified filter could not be compiled: {Error}", error);
89+
return 1;
90+
}
91+
92+
outputConfiguration.Filter.ByIncludingOnly(evt => ExpressionResult.IsTrue(filter(evt)));
93+
}
8594

8695
await using var logger = outputConfiguration.CreateLogger();
8796
foreach (var input in _fileInputFeature.OpenInputs())

src/SeqCli/Output/OutputFormatter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using SeqCli.Ingestion;
22
using SeqCli.Levels;
33
using Serilog.Formatting;
4-
using Serilog.Templates;
4+
using Seq.Syntax.Templates;
55

66
namespace SeqCli.Output;
77

src/SeqCli/SeqCli.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
<PackageReference Include="Destructurama.JsonNet" Version="2.0.1" />
3030
<PackageReference Include="newtonsoft.json" Version="13.0.3" />
3131
<PackageReference Include="Serilog" Version="3.1.1" />
32-
<PackageReference Include="serilog.expressions" Version="4.0.0" />
3332
<PackageReference Include="Serilog.Formatting.Compact" Version="2.0.0" />
3433
<PackageReference Include="Serilog.Formatting.Compact.Reader" Version="3.0.0" />
3534
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.1" />
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using System.Diagnostics.CodeAnalysis;
2+
using Seq.Syntax.Expressions;
3+
4+
namespace SeqCli.Syntax;
5+
6+
class SeqCliNameResolver: NameResolver
7+
{
8+
public override bool TryResolveBuiltInPropertyName(string alias, [MaybeNullWhen(false)] out string target)
9+
{
10+
switch (alias)
11+
{
12+
case "@l":
13+
target = "coalesce(SeqCliOriginalLevel, @l)";
14+
return true;
15+
default:
16+
target = null;
17+
return false;
18+
}
19+
}
20+
}

src/SeqCli/Syntax/SeqSyntax.cs

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System.Diagnostics.CodeAnalysis;
2-
using Seq.Syntax.Expressions;
1+
using Seq.Syntax.Expressions;
32

43
namespace SeqCli.Syntax;
54

@@ -9,20 +8,4 @@ public static CompiledExpression CompileExpression(string expression)
98
{
109
return SerilogExpression.Compile(expression, nameResolver: new SeqCliNameResolver());
1110
}
12-
}
13-
14-
class SeqCliNameResolver: NameResolver
15-
{
16-
public override bool TryResolveBuiltInPropertyName(string alias, [MaybeNullWhen(false)] out string target)
17-
{
18-
switch (alias)
19-
{
20-
case "@l":
21-
target = "coalesce(SeqCliOriginalLevel, @l)";
22-
return true;
23-
default:
24-
target = null;
25-
return false;
26-
}
27-
}
28-
}
11+
}

0 commit comments

Comments
 (0)