private static async Task TestExchangeLogParser(DelimitedTextLogContext context) { var output = new List <IEnvelope <KeyValueLogRecord> >(); var parser = new AsyncExchangeLogParser(NullLogger.Instance, null, null, 1024); await parser.ParseRecordsAsync(context, output, 10); Assert.Equal(2, output.Count); var record = output[0].Data; Assert.Equal("2017-05-22T17:33:35.632Z", record["date-time"]); Assert.Equal(new DateTime(2017, 5, 22, 17, 33, 35, 632, DateTimeKind.Utc).ToLocalTime(), record.Timestamp); Assert.Equal(string.Empty, record["client-ip"]); Assert.Equal("EX13D13UWA001", record["client-hostname"]); Assert.Equal("S:AMA=SUM|action=p|error=|atch=0;S:CompCost=|ETR=0;S:DeliveryPriority=Normal;S:[email protected];S:AccountForest=ant.amazon.com", record["custom-data"]); Assert.Equal("S:DeliveryPriority=Normal;S:[email protected];S:AccountForest=ant.amazon.com", output[1].Data["custom-data"]); var envelope = (ILogEnvelope)output[0]; Assert.Equal(6, envelope.LineNumber); }
private static async Task TestWssLogsWithContext(DelimitedTextLogContext context) { var parser = new AsyncULSLogParser(NullLogger.Instance, null, 1024); var output = new List <IEnvelope <KeyValueLogRecord> >(); await parser.ParseRecordsAsync(context, output, 10); Assert.Equal(2, output.Count); var record = output[0].Data; _ = output[0].GetMessage("json"); Assert.Equal("03/07/2018 22:54:54.97", record["Timestamp"]); Assert.Equal(new DateTime(2018, 3, 7, 22, 54, 54, 970), record.Timestamp); Assert.Equal("SharePoint Foundation", record["Area"]); Assert.Equal("Warning", record["Level"]); var envelope = (ILogEnvelope)output[0]; Assert.Equal(2, envelope.LineNumber); Assert.Equal("03/07/2018 22:54:54.97", output[1].Data["Timestamp"]); }