@@ -17,16 +17,16 @@ public class MicrosoftConsoleJsonLayout : JsonLayout
1717 {
1818 private static readonly string [ ] EventIdMapper = Enumerable . Range ( 0 , 50 ) . Select ( id => id . ToString ( System . Globalization . CultureInfo . InvariantCulture ) ) . ToArray ( ) ;
1919
20- private readonly SimpleLayout _timestampLayout = new SimpleLayout ( "${date:format=o:universalTime=true}" ) ;
20+ private readonly SimpleLayout _timestampLayout = new SimpleLayout ( "\" ${date:format=o:universalTime=true}\" " ) ;
2121
2222 /// <summary>
2323 /// Initializes a new instance of the <see cref="MicrosoftConsoleJsonLayout" /> class.
2424 /// </summary>
2525 public MicrosoftConsoleJsonLayout ( )
2626 {
27- Attributes . Add ( new JsonAttribute ( "Timestamp" , _timestampLayout ) ) ;
27+ Attributes . Add ( new JsonAttribute ( "Timestamp" , _timestampLayout ) { Encode = false } ) ;
2828 Attributes . Add ( new JsonAttribute ( "EventId" , Layout . FromMethod ( evt => LookupEventId ( evt ) , LayoutRenderOptions . ThreadAgnostic ) ) { Encode = false } ) ;
29- Attributes . Add ( new JsonAttribute ( "LogLevel" , Layout . FromMethod ( evt => ConvertLogLevel ( evt . Level ) , LayoutRenderOptions . ThreadAgnostic ) ) ) ;
29+ Attributes . Add ( new JsonAttribute ( "LogLevel" , Layout . FromMethod ( evt => ConvertLogLevel ( evt . Level ) , LayoutRenderOptions . ThreadAgnostic ) ) { Encode = false } ) ;
3030 Attributes . Add ( new JsonAttribute ( "Category" , "${logger}" ) ) ;
3131 Attributes . Add ( new JsonAttribute ( "Message" , "${message}" ) ) ;
3232 Attributes . Add ( new JsonAttribute ( "Exception" , "${replace-newlines:${exception:format=tostring,data}}" ) ) ;
@@ -79,7 +79,7 @@ public string TimestampFormat
7979 get
8080 {
8181 var index = LookupNamedAttributeIndex ( "Timestamp" ) ;
82- return index >= 0 ? ( ( Attributes [ index ] . Layout as SimpleLayout ) ? . LayoutRenderers ? . FirstOrDefault ( ) as DateLayoutRenderer ) ? . Format : null ;
82+ return index >= 0 ? ( ( Attributes [ index ] . Layout as SimpleLayout ) ? . LayoutRenderers ? . OfType < DateLayoutRenderer > ( ) . FirstOrDefault ( ) ) ? . Format : null ;
8383 }
8484 set
8585 {
@@ -91,9 +91,9 @@ public string TimestampFormat
9191
9292 if ( ! string . IsNullOrEmpty ( value ) )
9393 {
94- var dateLayoutRenderer = _timestampLayout . LayoutRenderers . First ( ) as DateLayoutRenderer ;
94+ var dateLayoutRenderer = _timestampLayout . LayoutRenderers . OfType < DateLayoutRenderer > ( ) . First ( ) ;
9595 dateLayoutRenderer . Format = value ;
96- Attributes . Insert ( 0 , new JsonAttribute ( "Timestamp" , _timestampLayout ) ) ;
96+ Attributes . Insert ( 0 , new JsonAttribute ( "Timestamp" , _timestampLayout ) { Encode = false } ) ;
9797 }
9898 }
9999 }
@@ -144,17 +144,17 @@ private static string ConvertEventId(int eventId)
144144 private static string ConvertLogLevel ( LogLevel logLevel )
145145 {
146146 if ( logLevel == LogLevel . Trace )
147- return nameof ( Microsoft . Extensions . Logging . LogLevel . Trace ) ;
147+ return " \" " + nameof ( Microsoft . Extensions . Logging . LogLevel . Trace ) + " \" " ;
148148 else if ( logLevel == LogLevel . Debug )
149- return nameof ( Microsoft . Extensions . Logging . LogLevel . Debug ) ;
149+ return " \" " + nameof ( Microsoft . Extensions . Logging . LogLevel . Debug ) + " \" " ;
150150 else if ( logLevel == LogLevel . Info )
151- return nameof ( Microsoft . Extensions . Logging . LogLevel . Information ) ;
151+ return " \" " + nameof ( Microsoft . Extensions . Logging . LogLevel . Information ) + " \" " ;
152152 else if ( logLevel == LogLevel . Warn )
153- return nameof ( Microsoft . Extensions . Logging . LogLevel . Warning ) ;
153+ return " \" " + nameof ( Microsoft . Extensions . Logging . LogLevel . Warning ) + " \" " ;
154154 else if ( logLevel == LogLevel . Error )
155- return nameof ( Microsoft . Extensions . Logging . LogLevel . Error ) ;
155+ return " \" " + nameof ( Microsoft . Extensions . Logging . LogLevel . Error ) + " \" " ;
156156 else
157- return nameof ( Microsoft . Extensions . Logging . LogLevel . Critical ) ;
157+ return " \" " + nameof ( Microsoft . Extensions . Logging . LogLevel . Critical ) + " \" " ;
158158 }
159159 }
160160}
0 commit comments