diff --git a/TimberWinR.sln b/TimberWinR.sln index 3603bc2..fd2c5fc 100644 --- a/TimberWinR.sln +++ b/TimberWinR.sln @@ -16,6 +16,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TimberWinR.UnitTests", "Tim EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{1B2F600B-2400-45B9-A28E-CFC391D9EFA9}" ProjectSection(SolutionItems) = preProject + LICENSE.txt = LICENSE.txt Package.nuspec = Package.nuspec README.md = README.md EndProjectSection diff --git a/TimberWinR/Filters/DateFilter.cs b/TimberWinR/Filters/DateFilter.cs index 7e851f7..cd04d31 100644 --- a/TimberWinR/Filters/DateFilter.cs +++ b/TimberWinR/Filters/DateFilter.cs @@ -32,32 +32,26 @@ namespace TimberWinR.Filters if (Patterns == null || Patterns.Count == 0) { if (DateTime.TryParse(text, out ts)) - { - if (ConvertToUTC) - ts = ts.ToUniversalTime(); - - if (json[Target] == null) - json.Add(Target, ts); - else - json[Target] = ts; - } + AddOrModify(json, ts); } else { - if (DateTime.TryParseExact(text, Patterns.ToArray(), CultureInfo.InvariantCulture, - DateTimeStyles.None, out ts)) - { - if (ConvertToUTC) - ts = ts.ToUniversalTime(); - - if (json[Target] == null) - json.Add(Target, ts); - else - json[Target] = ts; - } + if (DateTime.TryParseExact(text, Patterns.ToArray(), CultureInfo.InvariantCulture, DateTimeStyles.None, out ts)) + AddOrModify(json, ts); } } } } + + private void AddOrModify(JObject json, DateTime ts) + { + if (ConvertToUTC) + ts = ts.ToUniversalTime(); + + if (json[Target] == null) + json.Add(Target, ts); + else + json[Target] = ts; + } } } diff --git a/TimberWinR/Filters/GrokFilter.cs b/TimberWinR/Filters/GrokFilter.cs index 68278ad..e4d1a19 100644 --- a/TimberWinR/Filters/GrokFilter.cs +++ b/TimberWinR/Filters/GrokFilter.cs @@ -36,7 +36,6 @@ namespace TimberWinR.Filters { sb.Append(String.Format("\t{0}: {1}\n", prop.Name, prop.GetValue(this, null))); } - } return sb.ToString(); } @@ -59,30 +58,19 @@ namespace TimberWinR.Filters var namedCaptures = regex.MatchNamedCaptures(text); foreach (string fieldName in namedCaptures.Keys) { - - //if (fieldName == "timestamp") - //{ - // string value = namedCaptures[fieldName]; - // DateTime ts; - // if (DateTime.TryParse(value, out ts)) - // json.Add(fieldName, ts.ToUniversalTime()); - // else if (DateTime.TryParseExact(value, new string[] - // { - // "MMM dd hh:mm:ss", - // "MMM dd HH:mm:ss", - // "MMM dd h:mm", - // "MMM dd hh:mm", - // }, CultureInfo.InvariantCulture, DateTimeStyles.None, out ts)) - // json.Add(fieldName, ts.ToUniversalTime()); - // else - // json.Add(fieldName, (JToken) namedCaptures[fieldName]); - //} - //else - json.Add(fieldName, (JToken) namedCaptures[fieldName]); + AddOrModify(json, fieldName, namedCaptures[fieldName]); } } } } } + private void AddOrModify(JObject json, string fieldName, string fieldValue) + { + if (json[fieldName] == null) + json.Add(fieldName, fieldValue); + else + json[fieldName] = fieldValue; + } + } } \ No newline at end of file