@@ -12,6 +12,7 @@ sealed class LoggerSingleton
1212 public static LoggerSingleton Instance => _instance . Value ;
1313
1414 public ILogger Logger { get ; }
15+ private readonly ILoggerFactory _loggerFactory ;
1516
1617 private LoggerSingleton ( )
1718 {
@@ -24,54 +25,66 @@ private LoggerSingleton()
2425 logLevel = LogLevel . Information ; // Set the minimum logging level
2526 }
2627
27- var loggerFactory = LoggerFactory . Create ( builder =>
28+ _loggerFactory = LoggerFactory . Create ( builder =>
2829 {
2930 builder
3031 . AddConsole ( )
3132 . SetMinimumLevel ( logLevel ) ; // set minimum logging level
3233 } ) ;
3334
34- Logger = loggerFactory . CreateLogger ( "GlobalLogger" ) ;
35+ Logger = _loggerFactory . CreateLogger ( "GlobalLogger" ) ;
3536
36- Logger . LogInformation ( "Initializing" ) ;
37-
38- Logger . LogInformation ( "Info level enabled" ) ;
39- Logger . LogWarning ( "Warning level enabled" ) ;
40- Logger . LogError ( "Error level enabled" ) ;
41- Logger . LogDebug ( "Debug level enabled" ) ;
37+ _logInfo ( Logger , "Initializing" , Array . Empty < object > ( ) , null ) ;
38+ _logInfo ( Logger , "Info level enabled" , Array . Empty < object > ( ) , null ) ;
39+ _logWarning ( Logger , "Warning level enabled" , Array . Empty < object > ( ) , null ) ;
40+ _logError ( Logger , "Error level enabled" , Array . Empty < object > ( ) , null ) ;
41+ _logDebug ( Logger , "Debug level enabled" , Array . Empty < object > ( ) , null ) ;
4242 }
4343 }
4444
45- public static ILogger getLogger ( )
46- {
47- return LoggerSingleton . Instance . Logger ;
48- }
45+ public static ILogger Logger => LoggerSingleton . Instance . Logger ;
46+
47+ private static readonly Action < ILogger , string , object ? [ ] ? , Exception ? > _logInfo =
48+ LoggerMessage . Define < string , object ? [ ] ? > (
49+ LogLevel . Information ,
50+ new EventId ( 3 , nameof ( info ) ) ,
51+ "{Message} {Args}" ) ;
4952
5053 public static void info ( string message , params object ? [ ] args )
5154 {
52- #pragma warning disable CA2254 // Template should be a static expression
53- LoggerSingleton . Instance . Logger . LogInformation ( message , args ) ;
54- #pragma warning restore CA2254 // Template should be a static expression
55+ _logInfo ( LoggerSingleton . Instance . Logger , message , args , null ) ;
5556 }
5657
58+ private static readonly Action < ILogger , string , object ? [ ] ? , Exception ? > _logWarning =
59+ LoggerMessage . Define < string , object ? [ ] ? > (
60+ LogLevel . Warning ,
61+ new EventId ( 2 , nameof ( warning ) ) ,
62+ "{Message} {Args}" ) ;
63+
5764 public static void warning ( string message , params object ? [ ] args )
5865 {
59- #pragma warning disable CA2254 // Template should be a static expression
60- LoggerSingleton . Instance . Logger . LogWarning ( message ) ;
61- #pragma warning restore CA2254 // Template should be a static expression
66+ _logWarning ( LoggerSingleton . Instance . Logger , message , args , null ) ;
6267 }
6368
69+ private static readonly Action < ILogger , string , object ? [ ] ? , Exception ? > _logError =
70+ LoggerMessage . Define < string , object ? [ ] ? > (
71+ LogLevel . Error ,
72+ new EventId ( 1 , nameof ( error ) ) ,
73+ "{Message} {Args}" ) ;
74+
6475 public static void error ( string message , params object ? [ ] args )
6576 {
66- #pragma warning disable CA2254 // Template should be a static expression
67- LoggerSingleton . Instance . Logger . LogError ( message ) ;
68- #pragma warning restore CA2254 // Template should be a static expression
77+ _logError ( LoggerSingleton . Instance . Logger , message , args , null ) ;
6978 }
7079
80+ private static readonly Action < ILogger , string , object ? [ ] ? , Exception ? > _logDebug =
81+ LoggerMessage . Define < string , object ? [ ] ? > (
82+ LogLevel . Debug ,
83+ new EventId ( 0 , nameof ( debug ) ) ,
84+ "{Message} {Args}" ) ;
85+
7186 public static void debug ( string message , params object ? [ ] args )
7287 {
73- #pragma warning disable CA2254 // Template should be a static expression
74- LoggerSingleton . Instance . Logger . LogDebug ( message ) ;
75- #pragma warning restore CA2254 // Template should be a static expression
88+ _logDebug ( LoggerSingleton . Instance . Logger , message , args , null ) ;
7689 }
7790}
0 commit comments