@@ -29,11 +29,11 @@ namespace Serilog.Formatting.Compact.Reader
29
29
/// </summary>
30
30
public class LogEventReader : IDisposable
31
31
{
32
- static readonly MessageTemplateParser _parser = new MessageTemplateParser ( ) ;
32
+ static readonly MessageTemplateParser Parser = new MessageTemplateParser ( ) ;
33
33
readonly TextReader _text ;
34
34
readonly JsonSerializer _serializer ;
35
35
36
- int _lineNumber = 0 ;
36
+ int _lineNumber ;
37
37
38
38
/// <summary>
39
39
/// Construct a <see cref="LogEventReader"/>.
@@ -42,9 +42,7 @@ public class LogEventReader : IDisposable
42
42
/// <param name="serializer">If specified, a JSON serializer used when converting event documents.</param>
43
43
public LogEventReader ( TextReader text , JsonSerializer serializer = null )
44
44
{
45
- if ( text == null ) throw new ArgumentNullException ( nameof ( text ) ) ;
46
-
47
- _text = text ;
45
+ _text = text ?? throw new ArgumentNullException ( nameof ( text ) ) ;
48
46
_serializer = serializer ?? CreateSerializer ( ) ;
49
47
}
50
48
@@ -126,26 +124,25 @@ static LogEvent ReadFromJObject(int lineNumber, JObject jObject)
126
124
}
127
125
128
126
var level = LogEventLevel . Information ;
129
- string l ;
130
- if ( TryGetOptionalField ( lineNumber , jObject , ClefFields . Level , out l ) )
127
+ if ( TryGetOptionalField ( lineNumber , jObject , ClefFields . Level , out string l ) )
131
128
level = ( LogEventLevel ) Enum . Parse ( typeof ( LogEventLevel ) , l ) ;
132
129
Exception exception = null ;
133
- string ex ;
134
- if ( TryGetOptionalField ( lineNumber , jObject , ClefFields . Exception , out ex ) )
130
+ if ( TryGetOptionalField ( lineNumber , jObject , ClefFields . Exception , out string ex ) )
135
131
exception = new TextException ( ex ) ;
136
132
137
133
var unrecognized = jObject . Properties ( ) . Where ( p => ClefFields . IsUnrecognized ( p . Name ) ) ;
134
+ // ReSharper disable once PossibleMultipleEnumeration
138
135
if ( unrecognized . Any ( ) )
139
136
{
137
+ // ReSharper disable once PossibleMultipleEnumeration
140
138
var names = string . Join ( ", " , unrecognized . Select ( p => $ "`{ p . Name } `") ) ;
141
139
throw new InvalidDataException ( $ "{ names } on line { lineNumber } are unrecognized.") ;
142
140
}
143
141
144
- var parsedTemplate = _parser . Parse ( messageTemplate ) ;
142
+ var parsedTemplate = Parser . Parse ( messageTemplate ) ;
145
143
var renderings = Enumerable . Empty < Rendering > ( ) ;
146
144
147
- JToken r ;
148
- if ( jObject . TryGetValue ( ClefFields . Renderings , out r ) )
145
+ if ( jObject . TryGetValue ( ClefFields . Renderings , out JToken r ) )
149
146
{
150
147
var renderedByIndex = r as JArray ;
151
148
if ( renderedByIndex == null )
@@ -178,15 +175,6 @@ static LogEvent ReadFromJObject(int lineNumber, JObject jObject)
178
175
return new LogEvent ( timestamp , level , exception , parsedTemplate , properties ) ;
179
176
}
180
177
181
- static string GetRequiredField ( int lineNumber , JObject data , string field )
182
- {
183
- string value ;
184
- if ( ! TryGetOptionalField ( lineNumber , data , field , out value ) )
185
- throw new InvalidDataException ( $ "The data on line { lineNumber } does not include the required `{ field } ` field.") ;
186
-
187
- return value ;
188
- }
189
-
190
178
static bool TryGetOptionalField ( int lineNumber , JObject data , string field , out string value )
191
179
{
192
180
JToken token ;
@@ -214,8 +202,8 @@ static DateTimeOffset GetRequiredTimestampField(int lineNumber, JObject data, st
214
202
var dt = token . Value < JValue > ( ) . Value ;
215
203
if ( dt is DateTimeOffset )
216
204
return ( DateTimeOffset ) dt ;
217
- else
218
- return ( DateTime ) dt ;
205
+
206
+ return ( DateTime ) dt ;
219
207
}
220
208
221
209
if ( token . Type != JTokenType . String )
0 commit comments