@@ -28,60 +28,56 @@ class RenderingsLayout : Layout
2828
2929 protected override void RenderFormattedMessage ( LogEventInfo logEvent , StringBuilder target )
3030 {
31- StringBuilder result = RenderLogEvent ( logEvent , target ) ;
31+ var result = RenderLogEvent ( logEvent , target ) ;
3232 if ( result == null )
3333 target . Append ( "null" ) ;
3434 }
3535
3636 protected override string GetFormattedMessage ( LogEventInfo logEvent )
3737 {
38- StringBuilder result = RenderLogEvent ( logEvent ) ;
38+ var result = RenderLogEvent ( logEvent ) ;
3939 return result ? . ToString ( ) ?? "null" ;
4040 }
4141
42- private StringBuilder RenderLogEvent ( LogEventInfo logEvent , StringBuilder preallocated = null )
42+ StringBuilder RenderLogEvent ( LogEventInfo logEvent , StringBuilder preallocated = null )
4343 {
44- int orgLength = preallocated ? . Length ?? 0 ;
44+ var orgLength = preallocated ? . Length ?? 0 ;
4545 StringBuilder output = null ;
4646
4747 try
4848 {
4949 var nextDelimiter = "" ;
5050 var mtp = logEvent . MessageTemplateParameters ;
5151
52- for ( var i = 0 ; i < mtp . Count ; ++ i )
52+ foreach ( var parameter in mtp )
5353 {
54- var parameter = mtp [ i ] ;
54+ if ( parameter . Format == null ) continue ;
55+
56+ if ( output == null )
57+ {
58+ output = preallocated ?? new StringBuilder ( ) ;
59+ output . Append ( "[" ) ;
60+ }
5561
56- if ( parameter . Format != null )
62+ var space = new StringWriter ( ) ;
63+
64+ if ( logEvent . Properties != null &&
65+ logEvent . Properties . TryGetValue ( parameter . Name , out var value ) )
5766 {
58- if ( output == null )
67+ if ( parameter . CaptureType == CaptureType . Normal )
5968 {
60- output = preallocated ?? new StringBuilder ( ) ;
61- output . Append ( "[" ) ;
69+ var formatString = string . Concat ( "{0:" , parameter . Format , "}" ) ;
70+ space . Write ( formatString , value ) ;
6271 }
63-
64- var space = new StringWriter ( ) ;
65-
66- if ( logEvent . Properties != null &&
67- logEvent . Properties . TryGetValue ( parameter . Name , out var value ) )
72+ else
6873 {
69- switch ( parameter . CaptureType )
70- {
71- case CaptureType . Normal :
72- var formatString = string . Concat ( "{0:" , parameter . Format , "}" ) ;
73- space . Write ( formatString , value ) ;
74- break ;
75- default : // Serialize, Stringify, Unknown
76- space . Write ( value ) ;
77- break ;
78- }
74+ space . Write ( value ) ;
7975 }
80-
81- output . Append ( nextDelimiter ) ;
82- nextDelimiter = "," ;
83- JsonConverter . SerializeObject ( space . ToString ( ) , output ) ;
8476 }
77+
78+ output . Append ( nextDelimiter ) ;
79+ nextDelimiter = "," ;
80+ JsonConverter . SerializeObject ( space . ToString ( ) , output ) ;
8581 }
8682
8783 return output ;
@@ -95,8 +91,7 @@ private StringBuilder RenderLogEvent(LogEventInfo logEvent, StringBuilder preall
9591 }
9692 finally
9793 {
98- if ( output != null )
99- output . Append ( "]" ) ;
94+ output ? . Append ( "]" ) ;
10095 }
10196 }
10297
0 commit comments