11using Serilog ;
2+ using Serilog . Core ;
23using Serilog . Exceptions ;
34using Serilog . Exceptions . Core ;
45using Serilog . Exceptions . EntityFrameworkCore . Destructurers ;
56
67namespace SerilogTest ;
78
8- internal static class Program
9+ internal class Program
910{
1011
1112 #region Constants & Statics
@@ -20,14 +21,10 @@ private static async Task Main(string[] args)
2021 true )
2122 . Build ( ) ;
2223
23- Log . Logger = new LoggerConfiguration ( )
24+ var loggerConfiguration = new LoggerConfiguration ( )
2425 . ReadFrom
25- . Configuration ( configuration ) // BUG: invalid
26- . Enrich
27- . WithExceptionDetails (
28- new DestructuringOptionsBuilder ( ) . WithDefaultDestructurers ( )
29- . WithDestructurers ( [ new DbUpdateExceptionDestructurer ( ) ] ) )
30- . CreateBootstrapLogger ( ) ;
26+ . Configuration ( configuration ) ;
27+ Log . Logger = ConfigureLogger ( loggerConfiguration ) . CreateBootstrapLogger ( ) ;
3128
3229 try
3330 {
@@ -46,6 +43,7 @@ private static async Task Main(string[] args)
4643 {
4744 _ = options . ReadFrom . Configuration ( builderContext . Configuration ) . ReadFrom
4845 . Services ( serviceProvider ) ;
46+ _ = ConfigureLogger ( options ) ;
4947 } ) ;
5048
5149 _ = builder . Services . AddControllers ( ) ;
@@ -65,16 +63,16 @@ private static async Task Main(string[] args)
6563 _ = app . UseHsts ( ) ;
6664 }
6765
68- _ = app . UseSerilogRequestLogging (
69- ( options ) =>
70- {
71- // Attach additional properties to the request completion event
72- options . EnrichDiagnosticContext = ( diagnosticContext , httpContext ) =>
73- {
74- diagnosticContext . Set ( "RequestHost" , httpContext . Request . Host ) ;
75- diagnosticContext . Set ( "RequestScheme" , httpContext . Request . Scheme ) ;
76- } ;
77- } ) ;
66+ // _ = app.UseSerilogRequestLogging(
67+ // (options) =>
68+ // {
69+ // // Attach additional properties to the request completion event
70+ // options.EnrichDiagnosticContext = (diagnosticContext, httpContext) =>
71+ // {
72+ // diagnosticContext.Set("RequestHost", httpContext.Request.Host);
73+ // diagnosticContext.Set("RequestScheme", httpContext.Request.Scheme);
74+ // };
75+ // });
7876
7977 _ = app . UseHttpsRedirection ( ) ;
8078
@@ -94,8 +92,22 @@ private static async Task Main(string[] args)
9492 {
9593 await Log . CloseAndFlushAsync ( ) ;
9694 }
95+
96+ static LoggerConfiguration ConfigureLogger ( LoggerConfiguration configuration )
97+ {
98+ return configuration . Enrich
99+ . WithProperty ( Constants . SourceContextPropertyName , typeof ( Program ) . FullName , false )
100+ . Enrich
101+ . WithExceptionDetails (
102+ new DestructuringOptionsBuilder ( ) . WithDefaultDestructurers ( )
103+ //.WithRootName("x")
104+ . WithDestructurers ( [ new DbUpdateExceptionDestructurer ( ) ] ) ) ;
105+ }
97106 }
98107
99108 #endregion
100109
110+ protected Program ( )
111+ {
112+ }
101113}
0 commit comments