@@ -166,90 +166,66 @@ DataTable CreateDataTable()
166
166
} ;
167
167
eventsTable . Columns . Add ( id ) ;
168
168
169
- if ( _columnOptions . Store . Contains ( StandardColumn . Message ) )
169
+ foreach ( var standardColumn in _columnOptions . Store )
170
170
{
171
- var message = new DataColumn
171
+ switch ( standardColumn )
172
172
{
173
- DataType = typeof ( string ) ,
174
- MaxLength = - 1 ,
175
- ColumnName = "Message"
176
- } ;
177
- eventsTable . Columns . Add ( message ) ;
178
- }
179
-
180
- if ( _columnOptions . Store . Contains ( StandardColumn . MessageTemplate ) )
181
- {
182
- var messageTemplate = new DataColumn
183
- {
184
- DataType = typeof ( string ) ,
185
- MaxLength = - 1 ,
186
- ColumnName = "MessageTemplate" ,
187
-
188
- } ;
189
- eventsTable . Columns . Add ( messageTemplate ) ;
190
- }
191
-
192
- if ( _columnOptions . Store . Contains ( StandardColumn . Level ) )
193
- {
194
- var level = new DataColumn
195
- {
196
- ColumnName = "Level"
197
- } ;
198
-
199
- if ( _columnOptions . Level . StoreAsEnum )
200
- {
201
- level . DataType = typeof ( byte ) ;
202
- }
203
- else
204
- {
205
- level . DataType = typeof ( string ) ;
206
- level . MaxLength = 128 ;
173
+ case StandardColumn . Level :
174
+ eventsTable . Columns . Add ( new DataColumn
175
+ {
176
+ DataType = _columnOptions . Level . StoreAsEnum ? typeof ( byte ) : typeof ( string ) ,
177
+ MaxLength = _columnOptions . Level . StoreAsEnum ? 0 : 128 ,
178
+ ColumnName = _columnOptions . Level . ColumnName ?? StandardColumn . Level . ToString ( )
179
+ } ) ;
180
+ break ;
181
+ case StandardColumn . TimeStamp :
182
+ eventsTable . Columns . Add ( new DataColumn
183
+ {
184
+ DataType = typeof ( DateTime ) ,
185
+ ColumnName = _columnOptions . TimeStamp . ColumnName ?? StandardColumn . TimeStamp . ToString ( ) ,
186
+ AllowDBNull = false
187
+ } ) ;
188
+ break ;
189
+ case StandardColumn . LogEvent :
190
+ eventsTable . Columns . Add ( new DataColumn
191
+ {
192
+ DataType = typeof ( string ) ,
193
+ ColumnName = _columnOptions . LogEvent . ColumnName ?? StandardColumn . LogEvent . ToString ( )
194
+ } ) ;
195
+ break ;
196
+ case StandardColumn . Message :
197
+ eventsTable . Columns . Add ( new DataColumn
198
+ {
199
+ DataType = typeof ( string ) ,
200
+ MaxLength = - 1 ,
201
+ ColumnName = _columnOptions . Message . ColumnName ?? StandardColumn . Message . ToString ( )
202
+ } ) ;
203
+ break ;
204
+ case StandardColumn . MessageTemplate :
205
+ eventsTable . Columns . Add ( new DataColumn
206
+ {
207
+ DataType = typeof ( string ) ,
208
+ MaxLength = - 1 ,
209
+ ColumnName = _columnOptions . MessageTemplate . ColumnName ?? StandardColumn . MessageTemplate . ToString ( )
210
+ } ) ;
211
+ break ;
212
+ case StandardColumn . Exception :
213
+ eventsTable . Columns . Add ( new DataColumn
214
+ {
215
+ DataType = typeof ( string ) ,
216
+ MaxLength = - 1 ,
217
+ ColumnName = _columnOptions . Exception . ColumnName ?? StandardColumn . Exception . ToString ( )
218
+ } ) ;
219
+ break ;
220
+ case StandardColumn . Properties :
221
+ eventsTable . Columns . Add ( new DataColumn
222
+ {
223
+ DataType = typeof ( string ) ,
224
+ MaxLength = - 1 ,
225
+ ColumnName = _columnOptions . Properties . ColumnName ?? StandardColumn . Properties . ToString ( )
226
+ } ) ;
227
+ break ;
207
228
}
208
-
209
- eventsTable . Columns . Add ( level ) ;
210
- }
211
-
212
- if ( _columnOptions . Store . Contains ( StandardColumn . TimeStamp ) )
213
- {
214
- var timestamp = new DataColumn
215
- {
216
- DataType = Type . GetType ( "System.DateTime" ) ,
217
- ColumnName = "TimeStamp" ,
218
- AllowDBNull = false
219
- } ;
220
- eventsTable . Columns . Add ( timestamp ) ;
221
- }
222
-
223
- if ( _columnOptions . Store . Contains ( StandardColumn . Exception ) )
224
- {
225
- var exception = new DataColumn
226
- {
227
- DataType = typeof ( string ) ,
228
- MaxLength = - 1 ,
229
- ColumnName = "Exception"
230
- } ;
231
- eventsTable . Columns . Add ( exception ) ;
232
- }
233
-
234
- if ( _columnOptions . Store . Contains ( StandardColumn . Properties ) )
235
- {
236
- var props = new DataColumn
237
- {
238
- DataType = typeof ( string ) ,
239
- MaxLength = - 1 ,
240
- ColumnName = "Properties" ,
241
- } ;
242
- eventsTable . Columns . Add ( props ) ;
243
- }
244
-
245
- if ( _columnOptions . Store . Contains ( StandardColumn . LogEvent ) )
246
- {
247
- var eventData = new DataColumn
248
- {
249
- DataType = Type . GetType ( "System.String" ) ,
250
- ColumnName = "LogEvent"
251
- } ;
252
- eventsTable . Columns . Add ( eventData ) ;
253
229
}
254
230
255
231
if ( _columnOptions . AdditionalDataColumns != null )
@@ -286,9 +262,7 @@ void FillDataTable(IEnumerable<LogEvent> events)
286
262
row [ "Level" ] = logEvent . Level ;
287
263
break ;
288
264
case StandardColumn . TimeStamp :
289
- row [ "TimeStamp" ] = _columnOptions . TimeStamp . ConvertToUtc
290
- ? logEvent . Timestamp . DateTime . ToUniversalTime ( )
291
- : logEvent . Timestamp . DateTime ;
265
+ row [ "TimeStamp" ] = _columnOptions . TimeStamp . ConvertToUtc ? logEvent . Timestamp . DateTime . ToUniversalTime ( ) : logEvent . Timestamp . DateTime ;
292
266
break ;
293
267
case StandardColumn . Exception :
294
268
row [ "Exception" ] = logEvent . Exception != null ? logEvent . Exception . ToString ( ) : null ;
@@ -336,15 +310,11 @@ private string ConvertPropertiesToXmlStructure(IEnumerable<KeyValuePair<string,
336
310
337
311
if ( options . UsePropertyKeyAsElementName )
338
312
{
339
- sb . AppendFormat ( "<{0}>{1}</{0}>" , XmlPropertyFormatter . GetValidElementName ( property . Key ) ,
340
- value ) ;
313
+ sb . AppendFormat ( "<{0}>{1}</{0}>" , XmlPropertyFormatter . GetValidElementName ( property . Key ) , value ) ;
341
314
}
342
315
else
343
316
{
344
- sb . AppendFormat ( "<{0} key='{1}'>{2}</{0}>" ,
345
- options . PropertyElementName ,
346
- property . Key ,
347
- value ) ;
317
+ sb . AppendFormat ( "<{0} key='{1}'>{2}</{0}>" , options . PropertyElementName , property . Key , value ) ;
348
318
}
349
319
}
350
320
@@ -388,15 +358,15 @@ private void ConvertPropertiesToColumn(DataRow row, IReadOnlyDictionary<string,
388
358
if ( scalarValue == null )
389
359
{
390
360
row [ columnName ] = property . Value . ToString ( ) ;
391
- continue ;
361
+ continue ;
392
362
}
393
363
394
364
if ( scalarValue . Value == null && row . Table . Columns [ columnName ] . AllowDBNull )
395
365
{
396
366
row [ columnName ] = DBNull . Value ;
397
367
continue ;
398
368
}
399
-
369
+
400
370
if ( TryChangeType ( scalarValue . Value , columnType , out conversion ) )
401
371
{
402
372
row [ columnName ] = conversion ;
0 commit comments