@@ -96,31 +96,35 @@ public static MessageSeverity ToSeverity(this LogLevel level)
9696 } ;
9797 }
9898
99- internal sealed class LoggerFactory ( IReporter reporter ) : ILoggerFactory
99+ internal sealed class LoggerFactory ( IReporter reporter , LogLevel level ) : ILoggerFactory
100100 {
101- private sealed class Logger ( IReporter reporter , string categoryName ) : ILogger
101+ private sealed class Logger ( IReporter reporter , LogLevel level , string categoryName ) : ILogger
102102 {
103103 public bool IsEnabled ( LogLevel logLevel )
104- => reporter . IsVerbose || logLevel > LogLevel . Debug ;
104+ => logLevel >= level ;
105105
106106 public void Log < TState > ( LogLevel logLevel , EventId eventId , TState state , Exception ? exception , Func < TState , Exception ? , string > formatter )
107107 {
108+ if ( ! IsEnabled ( logLevel ) )
109+ {
110+ return ;
111+ }
112+
108113 var ( name , display ) = LoggingUtilities . ParseCategoryName ( categoryName ) ;
109114 var prefix = display != null ? $ "[{ display } ] " : "" ;
110115
111- var severity = logLevel . ToSeverity ( ) ;
112116 var descriptor = eventId . Id != 0 ? MessageDescriptor . GetDescriptor ( eventId ) : default ;
113117
114- var emoji = severity switch
118+ var emoji = logLevel switch
115119 {
116120 _ when descriptor . Emoji != Emoji . Default => descriptor . Emoji ,
117- MessageSeverity . Error => Emoji . Error ,
118- MessageSeverity . Warning => Emoji . Warning ,
121+ LogLevel . Error => Emoji . Error ,
122+ LogLevel . Warning => Emoji . Warning ,
119123 _ when MessageDescriptor . ComponentEmojis . TryGetValue ( name , out var componentEmoji ) => componentEmoji ,
120124 _ => Emoji . Watch
121125 } ;
122126
123- reporter . Report ( eventId , emoji , severity , prefix + formatter ( state , exception ) ) ;
127+ reporter . Report ( eventId , emoji , logLevel , prefix + formatter ( state , exception ) ) ;
124128 }
125129
126130 public IDisposable ? BeginScope < TState > ( TState state ) where TState : notnull
@@ -132,7 +136,7 @@ public void Dispose()
132136 }
133137
134138 public ILogger CreateLogger ( string categoryName )
135- => new Logger ( reporter , categoryName ) ;
139+ => new Logger ( reporter , level , categoryName ) ;
136140
137141 public void AddProvider ( ILoggerProvider provider )
138142 => throw new NotImplementedException ( ) ;
@@ -256,7 +260,6 @@ public MessageDescriptor WithSeverityWhen(MessageSeverity severity, bool conditi
256260 public static readonly MessageDescriptor Building = Create ( "Building {0} ..." , Emoji . Default , MessageSeverity . Output ) ;
257261 public static readonly MessageDescriptor BuildSucceeded = Create ( "Build succeeded: {0}" , Emoji . Default , MessageSeverity . Output ) ;
258262 public static readonly MessageDescriptor BuildFailed = Create ( "Build failed: {0}" , Emoji . Default , MessageSeverity . Output ) ;
259-
260263 }
261264
262265 internal interface IProcessOutputReporter
@@ -278,9 +281,6 @@ internal interface IProcessOutputReporter
278281
279282 internal interface IReporter
280283 {
281- void Report ( EventId id , Emoji emoji , MessageSeverity severity , string message ) ;
282-
283- public bool IsVerbose
284- => false ;
284+ void Report ( EventId id , Emoji emoji , LogLevel level , string message ) ;
285285 }
286286}
0 commit comments