@@ -12,6 +12,7 @@ sealed class LoggerSingleton
12
12
public static LoggerSingleton Instance => _instance . Value ;
13
13
14
14
public ILogger Logger { get ; }
15
+ private readonly ILoggerFactory _loggerFactory ;
15
16
16
17
private LoggerSingleton ( )
17
18
{
@@ -24,54 +25,66 @@ private LoggerSingleton()
24
25
logLevel = LogLevel . Information ; // Set the minimum logging level
25
26
}
26
27
27
- var loggerFactory = LoggerFactory . Create ( builder =>
28
+ _loggerFactory = LoggerFactory . Create ( builder =>
28
29
{
29
30
builder
30
31
. AddConsole ( )
31
32
. SetMinimumLevel ( logLevel ) ; // set minimum logging level
32
33
} ) ;
33
34
34
- Logger = loggerFactory . CreateLogger ( "GlobalLogger" ) ;
35
+ Logger = _loggerFactory . CreateLogger ( "GlobalLogger" ) ;
35
36
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 ) ;
42
42
}
43
43
}
44
44
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}" ) ;
49
52
50
53
public static void info ( string message , params object ? [ ] args )
51
54
{
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 ) ;
55
56
}
56
57
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
+
57
64
public static void warning ( string message , params object ? [ ] args )
58
65
{
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 ) ;
62
67
}
63
68
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
+
64
75
public static void error ( string message , params object ? [ ] args )
65
76
{
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 ) ;
69
78
}
70
79
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
+
71
86
public static void debug ( string message , params object ? [ ] args )
72
87
{
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 ) ;
76
89
}
77
90
}
0 commit comments