private LogEvent CreateEvent(DefinitionElement definition, Timestamp timestamp, LogElement element) { var logEvent = new LogEvent(definition.Category, element); foreach (string key in definition.GetMetadataKeys()) { string regex; if (definition.Metadata.TryGetValue(key, out regex)) { List <string> matches; if (StringHelper.TryGetMatch(element.LogMessage, regex, out matches)) { logEvent.AddMetadata(key, matches); } } if (!String.IsNullOrEmpty(timestamp.Pattern) && !String.IsNullOrEmpty(timestamp.Format)) { List <string> rawTimestamp; if (StringHelper.TryGetMatch(element.LogMessage, timestamp.Pattern, out rawTimestamp)) { var timestampObject = DateTime.ParseExact(rawTimestamp.ElementAt(0), timestamp.Format, CultureInfo.InvariantCulture); logEvent.Timestamp = timestampObject; } } } return(logEvent); }
private LogEvent CreateEvent(DefinitionElement definition, Timestamp timestamp, LogElement element) { var logEvent = new LogEvent(definition.Category, element); foreach (string key in definition.GetMetadataKeys()) { string regex; if (definition.Metadata.TryGetValue(key, out regex)) { List<string> matches; if (StringHelper.TryGetMatch(element.LogMessage, regex, out matches)){ logEvent.AddMetadata(key, matches); } } if (!String.IsNullOrEmpty(timestamp.Pattern) && !String.IsNullOrEmpty(timestamp.Format)) { List<string> rawTimestamp; if (StringHelper.TryGetMatch(element.LogMessage, timestamp.Pattern, out rawTimestamp)) { var timestampObject = DateTime.ParseExact(rawTimestamp.ElementAt(0), timestamp.Format, CultureInfo.InvariantCulture); logEvent.Timestamp = timestampObject; } } } return logEvent; }