Skip to content

Commit

Permalink
Merge pull request #74 from nblumhardt/format-short-level-names
Browse files Browse the repository at this point in the history
Add support for for formatting short level names via `ToString()`
  • Loading branch information
nblumhardt authored May 11, 2022
2 parents ee5cc13 + 734ce41 commit db073db
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
14 changes: 6 additions & 8 deletions src/Serilog.Expressions/Expressions/Runtime/RuntimeOperators.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
using System.Linq;
using Serilog.Events;
using Serilog.Expressions.Compilation.Linq;
using Serilog.Templates.Rendering;

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

Expand Down Expand Up @@ -501,15 +502,12 @@ public static LogEventPropertyValue _Internal_IsNotNull(LogEventPropertyValue? v
return null;
}

string? toString;
if (sv.Value is IFormattable formattable)
var toString = sv.Value switch
{
toString = formattable.ToString(fmt, formatProvider);
}
else
{
toString = sv.Value.ToString();
}
LogEventLevel level => LevelRenderer.GetLevelMoniker(level, fmt),
IFormattable formattable => formattable.ToString(fmt, formatProvider),
_ => sv.Value.ToString()
};

return new ScalarValue(toString);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Hello, {'world'}! ⇶ Hello, world!
{@l} ⇶ Information
{@l:u3} ⇶ INF
{ {level: ToString(@l, 'u3')} } ⇶ {"level":"INF"}
Items are {[1, 2]} ⇶ Items are [1,2]
Members are { {a: 1, 'b c': 2} } ⇶ Members are {"a":1,"b c":2}
{@p} ⇶ {"Name":"nblumhardt"}
Expand Down

0 comments on commit db073db

Please sign in to comment.