1515using Microsoft . Extensions . Logging ;
1616using Serilog . Events ;
1717
18+ // ReSharper disable RedundantCaseLabel
19+
1820namespace Serilog . Extensions . Logging
1921{
20- static class LevelMapping
22+ /// <summary>
23+ /// Converts between Serilog and Microsoft.Extensions.Logging level enum values.
24+ /// </summary>
25+ public static class LevelConvert
2126 {
27+ /// <summary>
28+ /// Convert <paramref name="logLevel"/> to the equivalent Serilog <see cref="LogEventLevel"/>.
29+ /// </summary>
30+ /// <param name="logLevel">A Microsoft.Extensions.Logging <see cref="LogLevel"/>.</param>
31+ /// <returns>The Serilog equivalent of <paramref name="logLevel"/>.</returns>
32+ /// <remarks>The <see cref="LogLevel.None"/> value has no Serilog equivalent. It is mapped to
33+ /// <see cref="LogEventLevel.Fatal"/> as the closest approximation, but this has entirely
34+ /// different semantics.</remarks>
2235 public static LogEventLevel ToSerilogLevel ( LogLevel logLevel )
2336 {
2437 switch ( logLevel )
2538 {
39+ case LogLevel . None :
2640 case LogLevel . Critical :
2741 return LogEventLevel . Fatal ;
2842 case LogLevel . Error :
@@ -33,13 +47,17 @@ public static LogEventLevel ToSerilogLevel(LogLevel logLevel)
3347 return LogEventLevel . Information ;
3448 case LogLevel . Debug :
3549 return LogEventLevel . Debug ;
36- // ReSharper disable once RedundantCaseLabel
3750 case LogLevel . Trace :
3851 default :
3952 return LogEventLevel . Verbose ;
4053 }
4154 }
4255
56+ /// <summary>
57+ /// Convert <paramref name="logEventLevel"/> to the equivalent Microsoft.Extensions.Logging <see cref="LogLevel"/>.
58+ /// </summary>
59+ /// <param name="logEventLevel">A Serilog <see cref="LogEventLevel"/>.</param>
60+ /// <returns>The Microsoft.Extensions.Logging equivalent of <paramref name="logEventLevel"/>.</returns>
4361 public static LogLevel ToExtensionsLevel ( LogEventLevel logEventLevel )
4462 {
4563 switch ( logEventLevel )
@@ -54,7 +72,6 @@ public static LogLevel ToExtensionsLevel(LogEventLevel logEventLevel)
5472 return LogLevel . Information ;
5573 case LogEventLevel . Debug :
5674 return LogLevel . Debug ;
57- // ReSharper disable once RedundantCaseLabel
5875 case LogEventLevel . Verbose :
5976 default :
6077 return LogLevel . Trace ;
0 commit comments