@@ -17,20 +17,57 @@ public static void EnsureInitialized()
1717 {
1818 if ( Log . Logger is not Serilog . Core . Logger )
1919 {
20- Log . Logger = new LoggerConfiguration ( )
21- . MinimumLevel . Debug ( )
22- . MinimumLevel . Override ( "Microsoft" , LogEventLevel . Debug )
23- . MinimumLevel . Override ( "MassTransit" , LogEventLevel . Debug )
24- . MinimumLevel . Override ( "Microsoft.EntityFrameworkCore" , LogEventLevel . Debug )
25- . MinimumLevel . Override ( "System" , LogEventLevel . Debug )
26- . MinimumLevel . Override ( "Microsoft.AspNetCore" , LogEventLevel . Debug )
27- . MinimumLevel . Override ( "Microsoft.AspNetCore.Hosting" , LogEventLevel . Debug )
28- . MinimumLevel . Override ( "Microsoft.AspNetCore.Routing" , LogEventLevel . Debug )
29- . MinimumLevel . Override ( "Microsoft.AspNetCore.Http" , LogEventLevel . Debug )
30- . MinimumLevel . Override ( "Microsoft.AspNetCore.Mvc" , LogEventLevel . Debug )
31- . Enrich . FromLogContext ( )
32- . WriteTo . Console ( )
33- . CreateLogger ( ) ;
20+ #if DEBUG
21+ Log . Logger = CreateDebugLogger ( ) ;
22+ #else
23+ Log . Logger = CreateReleaseLogger ( ) ;
24+ #endif
3425 }
3526 }
27+
28+ #if DEBUG
29+ /// <summary>
30+ /// Creates a debug logger configuration with verbose logging for development.
31+ /// </summary>
32+ /// <returns>Configured Serilog logger for debug builds.</returns>
33+ private static Serilog . Core . Logger CreateDebugLogger ( )
34+ {
35+ return new LoggerConfiguration ( )
36+ . MinimumLevel . Debug ( )
37+ . MinimumLevel . Override ( "Microsoft" , LogEventLevel . Debug )
38+ . MinimumLevel . Override ( "MassTransit" , LogEventLevel . Debug )
39+ . MinimumLevel . Override ( "Microsoft.EntityFrameworkCore" , LogEventLevel . Debug )
40+ . MinimumLevel . Override ( "System" , LogEventLevel . Debug )
41+ . MinimumLevel . Override ( "Microsoft.AspNetCore" , LogEventLevel . Debug )
42+ . MinimumLevel . Override ( "Microsoft.AspNetCore.Hosting" , LogEventLevel . Debug )
43+ . MinimumLevel . Override ( "Microsoft.AspNetCore.Routing" , LogEventLevel . Debug )
44+ . MinimumLevel . Override ( "Microsoft.AspNetCore.Http" , LogEventLevel . Debug )
45+ . MinimumLevel . Override ( "Microsoft.AspNetCore.Mvc" , LogEventLevel . Debug )
46+ . Enrich . FromLogContext ( )
47+ . WriteTo . Console ( outputTemplate : "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}" )
48+ . CreateLogger ( ) ;
49+ }
50+ #else
51+ /// <summary>
52+ /// Creates a release logger configuration with optimized logging for production.
53+ /// </summary>
54+ /// <returns>Configured Serilog logger for release builds.</returns>
55+ private static Serilog . Core . Logger CreateReleaseLogger ( )
56+ {
57+ return new LoggerConfiguration ( )
58+ . MinimumLevel . Information ( )
59+ . MinimumLevel . Override ( "Microsoft" , LogEventLevel . Warning )
60+ . MinimumLevel . Override ( "MassTransit" , LogEventLevel . Warning )
61+ . MinimumLevel . Override ( "Microsoft.EntityFrameworkCore" , LogEventLevel . Warning )
62+ . MinimumLevel . Override ( "System" , LogEventLevel . Warning )
63+ . MinimumLevel . Override ( "Microsoft.AspNetCore" , LogEventLevel . Warning )
64+ . MinimumLevel . Override ( "Microsoft.AspNetCore.Hosting" , LogEventLevel . Information )
65+ . MinimumLevel . Override ( "Microsoft.AspNetCore.Routing" , LogEventLevel . Warning )
66+ . MinimumLevel . Override ( "Microsoft.AspNetCore.Http" , LogEventLevel . Warning )
67+ . MinimumLevel . Override ( "Microsoft.AspNetCore.Mvc" , LogEventLevel . Warning )
68+ . Enrich . FromLogContext ( )
69+ . WriteTo . Console ( outputTemplate : "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Level:u3}] {Message:lj}{NewLine}{Exception}" )
70+ . CreateLogger ( ) ;
71+ }
72+ #endif
3673}
0 commit comments