15
15
using Microsoft . Extensions . Logging ;
16
16
using Serilog . Events ;
17
17
18
+ // ReSharper disable RedundantCaseLabel
19
+
18
20
namespace Serilog . Extensions . Logging
19
21
{
20
- static class LevelMapping
22
+ /// <summary>
23
+ /// Converts between Serilog and Microsoft.Extensions.Logging level enum values.
24
+ /// </summary>
25
+ public static class LevelConvert
21
26
{
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>
22
35
public static LogEventLevel ToSerilogLevel ( LogLevel logLevel )
23
36
{
24
37
switch ( logLevel )
25
38
{
39
+ case LogLevel . None :
26
40
case LogLevel . Critical :
27
41
return LogEventLevel . Fatal ;
28
42
case LogLevel . Error :
@@ -33,13 +47,17 @@ public static LogEventLevel ToSerilogLevel(LogLevel logLevel)
33
47
return LogEventLevel . Information ;
34
48
case LogLevel . Debug :
35
49
return LogEventLevel . Debug ;
36
- // ReSharper disable once RedundantCaseLabel
37
50
case LogLevel . Trace :
38
51
default :
39
52
return LogEventLevel . Verbose ;
40
53
}
41
54
}
42
55
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>
43
61
public static LogLevel ToExtensionsLevel ( LogEventLevel logEventLevel )
44
62
{
45
63
switch ( logEventLevel )
@@ -54,7 +72,6 @@ public static LogLevel ToExtensionsLevel(LogEventLevel logEventLevel)
54
72
return LogLevel . Information ;
55
73
case LogEventLevel . Debug :
56
74
return LogLevel . Debug ;
57
- // ReSharper disable once RedundantCaseLabel
58
75
case LogEventLevel . Verbose :
59
76
default :
60
77
return LogLevel . Trace ;
0 commit comments