Skip to content

Commit e7ae2eb

Browse files
authored
feat(#130): render exception as a string property type (#135)
1 parent c065147 commit e7ae2eb

File tree

42 files changed

+322
-62
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+322
-62
lines changed

samples/WebApi/Program.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
})
4747
.WithName("GetWeatherForecast")
4848
.WithOpenApi();
49+
app.MapGet("/exception", () => { throw new InvalidOperationException("This route doesn't exist!"); });
4950

5051
app.Run();
5152

samples/WebApi/WebApi.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
<!-- Serilog UI packages -->
2323
<ItemGroup>
2424
<!-- comment/uncomment to directly reference Nuget release
25-
<PackageReference Include="Serilog.UI" Version="3.0.1"/>
26-
<PackageReference Include="Serilog.UI.MsSqlServerProvider" Version="3.0.0"/>
27-
<PackageReference Include="Serilog.UI.ElasticSearchProvider" Version="3.0.0"/>
25+
<PackageReference Include="Serilog.UI" Version="3.1.0"/>
26+
<PackageReference Include="Serilog.UI.MsSqlServerProvider" Version="3.1.0"/>
27+
<PackageReference Include="Serilog.UI.ElasticSearchProvider" Version="3.1.0"/>
2828
-->
2929

3030
<!-- comment/uncomment to directly reference solution projects -->

samples/WebApp/WebApp.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
<!-- Serilog UI packages -->
3939
<ItemGroup>
4040
<!-- comment/uncomment to directly reference Nuget release
41-
<PackageReference Include="Serilog.UI" Version="3.0.1"/>
42-
<PackageReference Include="Serilog.UI.MongoDbProvider" Version="3.0.0"/>
41+
<PackageReference Include="Serilog.UI" Version="3.1.0"/>
42+
<PackageReference Include="Serilog.UI.MongoDbProvider" Version="3.1.0"/>
4343
-->
4444

4545
<!-- comment/uncomment to directly reference solution projects -->

src/Serilog.Ui.Core/Interfaces/ISerilogUiOptionsBuilder.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,10 @@ public interface ISerilogUiOptionsBuilder
2626
/// <param name="providerKey">The IDataProvider <see cref="IDataProvider.Name"/>.</param>
2727
/// <typeparam name="T"></typeparam>
2828
void RegisterColumnsInfo<T>(string providerKey) where T : LogModel;
29+
30+
/// <summary>
31+
/// Register a Provider Key Name that saves the Exception field as string.
32+
/// </summary>
33+
/// <param name="providerKey">The IDataProvider <see cref="IDataProvider.Name"/>.</param>
34+
void RegisterExceptionAsStringForProviderKey(string providerKey);
2935
}

src/Serilog.Ui.Core/Models/Options/ProvidersOptions.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ public class ProvidersOptions
1414

1515
private readonly HashSet<string> _disabledSortProviderNames = [];
1616

17+
private readonly HashSet<string> _exceptionAsStringProviderNames = [];
18+
1719
/// <summary>
1820
/// Gets the AdditionalColumns.
1921
/// </summary>
@@ -25,6 +27,11 @@ public class ProvidersOptions
2527
/// </summary>
2628
public IEnumerable<string> DisabledSortProviderNames => _disabledSortProviderNames.ToList().AsReadOnly();
2729

30+
/// <summary>
31+
/// Gets the ExceptionAsStringProviderNames.
32+
/// </summary>
33+
public IEnumerable<string> ExceptionAsStringProviderNames => _exceptionAsStringProviderNames.ToList().AsReadOnly();
34+
2835
internal void RegisterType<T>(string providerKey)
2936
where T : LogModel
3037
{
@@ -35,4 +42,9 @@ internal void RegisterDisabledSortName(string name)
3542
{
3643
_disabledSortProviderNames.Add(name);
3744
}
45+
46+
internal void RegisterExceptionAsStringProvider(string name)
47+
{
48+
_exceptionAsStringProviderNames.Add(name);
49+
}
3850
}

src/Serilog.Ui.Core/OptionsBuilder/SerilogUiOptionsBuilder.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ public void RegisterColumnsInfo<T>(string providerKey) where T : LogModel
2929
_providersOptions.RegisterType<T>(providerKey);
3030
}
3131

32+
/// <inheritdoc />
33+
public void RegisterExceptionAsStringForProviderKey(string providerKey)
34+
{
35+
_providersOptions.RegisterExceptionAsStringProvider(providerKey);
36+
}
37+
3238
/// <summary>
3339
/// Register the <see cref="ProvidersOptions"/> in <see cref="IServiceCollection"/>.
3440
/// </summary>

src/Serilog.Ui.Core/Serilog.Ui.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<TargetFramework>netstandard2.0</TargetFramework>
44
<GenerateDocumentationFile>True</GenerateDocumentationFile>
55
<LangVersion>latest</LangVersion>
6-
<Version>3.0.0</Version>
6+
<Version>3.1.0</Version>
77
</PropertyGroup>
88

99
<ItemGroup>

src/Serilog.Ui.ElasticSearchProvider/Serilog.Ui.ElasticSearchProvider.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<TargetFramework>netstandard2.0</TargetFramework>
77
<LangVersion>latest</LangVersion>
8-
<Version>3.0.0</Version>
8+
<Version>3.1.0</Version>
99

1010
<Authors>Ricardo Demauro - rmauro.dev</Authors>
1111
<Description>ElasticSearch data provider for Serilog UI.</Description>

src/Serilog.Ui.MongoDbProvider/Serilog.Ui.MongoDbProvider.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<PackageId>Serilog.UI.MongoDbProvider</PackageId>
55
<TargetFramework>netstandard2.0</TargetFramework>
66
<LangVersion>latest</LangVersion>
7-
<Version>3.0.0</Version>
7+
<Version>3.1.0</Version>
88

99
<Authors>Christian Haase</Authors>
1010
<Description>MongoDB data provider for Serilog UI.</Description>

src/Serilog.Ui.MsSqlServerProvider/Extensions/SerilogUiOptionBuilderExtensions.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,15 @@ public static ISerilogUiOptionsBuilder UseSqlServer<T>(
4343
setupOptions(dbOptions);
4444
dbOptions.Validate();
4545

46+
var providerName = dbOptions.GetProviderName(SqlServerDataProvider.MsSqlProviderName);
47+
48+
optionsBuilder.RegisterExceptionAsStringForProviderKey(providerName);
4649
SqlMapper.AddTypeHandler(new DapperDateTimeHandler(dateTimeCustomParsing));
4750

4851
var customModel = typeof(T) != typeof(SqlServerLogModel);
4952
if (customModel)
5053
{
51-
optionsBuilder.RegisterColumnsInfo<T>(dbOptions.GetProviderName(SqlServerDataProvider.MsSqlProviderName));
54+
optionsBuilder.RegisterColumnsInfo<T>(providerName);
5255
optionsBuilder.Services.AddScoped<IDataProvider>(_ => new SqlServerDataProvider<T>(dbOptions));
5356

5457
return optionsBuilder;

0 commit comments

Comments
 (0)