Skip to content

Commit 7141ae2

Browse files
authored
Merge pull request #203 from 0xced/LogLevel-None
Observe Microsoft.Extensions.Logging.LogLevel.None
2 parents e25ed7d + b02968d commit 7141ae2

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

src/Serilog.Extensions.Logging/Extensions/Logging/SerilogLogger.cs

+5-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public SerilogLogger(
4444

4545
public bool IsEnabled(LogLevel logLevel)
4646
{
47-
return _logger.IsEnabled(LevelConvert.ToSerilogLevel(logLevel));
47+
return logLevel != LogLevel.None && _logger.IsEnabled(LevelConvert.ToSerilogLevel(logLevel));
4848
}
4949

5050
public IDisposable BeginScope<TState>(TState state)
@@ -54,6 +54,10 @@ public IDisposable BeginScope<TState>(TState state)
5454

5555
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
5656
{
57+
if (logLevel == LogLevel.None)
58+
{
59+
return;
60+
}
5761
var level = LevelConvert.ToSerilogLevel(logLevel);
5862
if (!_logger.IsEnabled(level))
5963
{

test/Serilog.Extensions.Logging.Tests/SerilogLoggerTests.cs

+23
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public void LogsCorrectLevel()
5555
logger.Log(LogLevel.Warning, 0, TestMessage, null, null);
5656
logger.Log(LogLevel.Error, 0, TestMessage, null, null);
5757
logger.Log(LogLevel.Critical, 0, TestMessage, null, null);
58+
logger.Log(LogLevel.None, 0, TestMessage, null, null);
5859

5960
Assert.Equal(6, sink.Writes.Count);
6061
Assert.Equal(LogEventLevel.Verbose, sink.Writes[0].Level);
@@ -65,43 +66,65 @@ public void LogsCorrectLevel()
6566
Assert.Equal(LogEventLevel.Fatal, sink.Writes[5].Level);
6667
}
6768

69+
70+
[Theory]
71+
[InlineData(LogLevel.Trace, true)]
72+
[InlineData(LogLevel.Debug, true)]
73+
[InlineData(LogLevel.Information, true)]
74+
[InlineData(LogLevel.Warning, true)]
75+
[InlineData(LogLevel.Error, true)]
76+
[InlineData(LogLevel.Critical, true)]
77+
[InlineData(LogLevel.None, false)]
78+
public void IsEnabledCorrect(LogLevel logLevel, bool isEnabled)
79+
{
80+
var (logger, _) = SetUp(LogLevel.Trace);
81+
82+
Assert.Equal(isEnabled, logger.IsEnabled(logLevel));
83+
}
84+
6885
[Theory]
6986
[InlineData(LogLevel.Trace, LogLevel.Trace, 1)]
7087
[InlineData(LogLevel.Trace, LogLevel.Debug, 1)]
7188
[InlineData(LogLevel.Trace, LogLevel.Information, 1)]
7289
[InlineData(LogLevel.Trace, LogLevel.Warning, 1)]
7390
[InlineData(LogLevel.Trace, LogLevel.Error, 1)]
7491
[InlineData(LogLevel.Trace, LogLevel.Critical, 1)]
92+
[InlineData(LogLevel.Trace, LogLevel.None, 0)]
7593
[InlineData(LogLevel.Debug, LogLevel.Trace, 0)]
7694
[InlineData(LogLevel.Debug, LogLevel.Debug, 1)]
7795
[InlineData(LogLevel.Debug, LogLevel.Information, 1)]
7896
[InlineData(LogLevel.Debug, LogLevel.Warning, 1)]
7997
[InlineData(LogLevel.Debug, LogLevel.Error, 1)]
8098
[InlineData(LogLevel.Debug, LogLevel.Critical, 1)]
99+
[InlineData(LogLevel.Debug, LogLevel.None, 0)]
81100
[InlineData(LogLevel.Information, LogLevel.Trace, 0)]
82101
[InlineData(LogLevel.Information, LogLevel.Debug, 0)]
83102
[InlineData(LogLevel.Information, LogLevel.Information, 1)]
84103
[InlineData(LogLevel.Information, LogLevel.Warning, 1)]
85104
[InlineData(LogLevel.Information, LogLevel.Error, 1)]
86105
[InlineData(LogLevel.Information, LogLevel.Critical, 1)]
106+
[InlineData(LogLevel.Information, LogLevel.None, 0)]
87107
[InlineData(LogLevel.Warning, LogLevel.Trace, 0)]
88108
[InlineData(LogLevel.Warning, LogLevel.Debug, 0)]
89109
[InlineData(LogLevel.Warning, LogLevel.Information, 0)]
90110
[InlineData(LogLevel.Warning, LogLevel.Warning, 1)]
91111
[InlineData(LogLevel.Warning, LogLevel.Error, 1)]
92112
[InlineData(LogLevel.Warning, LogLevel.Critical, 1)]
113+
[InlineData(LogLevel.Warning, LogLevel.None, 0)]
93114
[InlineData(LogLevel.Error, LogLevel.Trace, 0)]
94115
[InlineData(LogLevel.Error, LogLevel.Debug, 0)]
95116
[InlineData(LogLevel.Error, LogLevel.Information, 0)]
96117
[InlineData(LogLevel.Error, LogLevel.Warning, 0)]
97118
[InlineData(LogLevel.Error, LogLevel.Error, 1)]
98119
[InlineData(LogLevel.Error, LogLevel.Critical, 1)]
120+
[InlineData(LogLevel.Error, LogLevel.None, 0)]
99121
[InlineData(LogLevel.Critical, LogLevel.Trace, 0)]
100122
[InlineData(LogLevel.Critical, LogLevel.Debug, 0)]
101123
[InlineData(LogLevel.Critical, LogLevel.Information, 0)]
102124
[InlineData(LogLevel.Critical, LogLevel.Warning, 0)]
103125
[InlineData(LogLevel.Critical, LogLevel.Error, 0)]
104126
[InlineData(LogLevel.Critical, LogLevel.Critical, 1)]
127+
[InlineData(LogLevel.Critical, LogLevel.None, 0)]
105128
public void LogsWhenEnabled(LogLevel minLevel, LogLevel logLevel, int expected)
106129
{
107130
var (logger, sink) = SetUp(minLevel);

0 commit comments

Comments
 (0)