Skip to content

Commit db073db

Browse files
authored
Merge pull request #74 from nblumhardt/format-short-level-names
Add support for for formatting short level names via `ToString()`
2 parents ee5cc13 + 734ce41 commit db073db

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

src/Serilog.Expressions/Expressions/Runtime/RuntimeOperators.cs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
using System.Linq;
1818
using Serilog.Events;
1919
using Serilog.Expressions.Compilation.Linq;
20+
using Serilog.Templates.Rendering;
2021

2122
// ReSharper disable ForCanBeConvertedToForeach, InvertIf, MemberCanBePrivate.Global, UnusedMember.Global, InconsistentNaming, ReturnTypeCanBeNotNullable
2223

@@ -501,15 +502,12 @@ public static LogEventPropertyValue _Internal_IsNotNull(LogEventPropertyValue? v
501502
return null;
502503
}
503504

504-
string? toString;
505-
if (sv.Value is IFormattable formattable)
505+
var toString = sv.Value switch
506506
{
507-
toString = formattable.ToString(fmt, formatProvider);
508-
}
509-
else
510-
{
511-
toString = sv.Value.ToString();
512-
}
507+
LogEventLevel level => LevelRenderer.GetLevelMoniker(level, fmt),
508+
IFormattable formattable => formattable.ToString(fmt, formatProvider),
509+
_ => sv.Value.ToString()
510+
};
513511

514512
return new ScalarValue(toString);
515513
}

test/Serilog.Expressions.Tests/Cases/template-evaluation-cases.asv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
Hello, {'world'}! ⇶ Hello, world!
22
{@l} ⇶ Information
33
{@l:u3} ⇶ INF
4+
{ {level: ToString(@l, 'u3')} } ⇶ {"level":"INF"}
45
Items are {[1, 2]} ⇶ Items are [1,2]
56
Members are { {a: 1, 'b c': 2} } ⇶ Members are {"a":1,"b c":2}
67
{@p} ⇶ {"Name":"nblumhardt"}

0 commit comments

Comments
 (0)