public LogEvent(string eventText, IEventContext rootContext, ICollection <IEventLevel> levels) { this._eventText = eventText; string contextName; if (eventText.StartsWith("<log4j:event")) { var regex = new Regex( "logger=\"(?<context>.*)\" level=\"(?<level>.*)\" timestamp=\"(?<timeDate>.*)\" .*log4j:message>(?<message>.*)</log4j:message>", RegexOptions.Multiline); var matches = regex.Matches(eventText); contextName = matches[0].Groups["context"].Value.Trim(); var milliseconds = long.Parse(matches[0].Groups["timeDate"].Value.Trim()); Time = new DateTime(1970, 1, 1).AddMilliseconds(milliseconds); Time = Time.ToUniversalTime(); Level = matches[0].Groups["level"].Value.Trim(); Message = matches[0].Groups["message"].Value.Trim(); } else { contextName = GetContextName(); } IsControlMessage = (contextName.ToLower() == "nLogCruncher.Command".ToLower()); Context = rootContext; foreach (var name in contextName.Split('.')) { Context = Context.GetContext(name); } if (levels.Count(thisLevel => thisLevel.Name.ToLower() == Level.ToLower()) == 0) { levels.Add(new EventLevel(Level)); } }
public LogEvent(string eventText, IEventContext rootContext, ICollection<IEventLevel> levels) { this._eventText = eventText; string contextName; if (eventText.StartsWith("<log4j:event")) { var regex = new Regex( "logger=\"(?<context>.*)\" level=\"(?<level>.*)\" timestamp=\"(?<timeDate>.*)\" .*log4j:message>(?<message>.*)</log4j:message>", RegexOptions.Multiline); var matches = regex.Matches(eventText); contextName = matches[0].Groups["context"].Value.Trim(); var milliseconds = long.Parse(matches[0].Groups["timeDate"].Value.Trim()); Time = new DateTime(1970, 1, 1).AddMilliseconds(milliseconds); Time = Time.ToUniversalTime(); Level = matches[0].Groups["level"].Value.Trim(); Message = matches[0].Groups["message"].Value.Trim(); } else { contextName = GetContextName(); } IsControlMessage = (contextName.ToLower() == "nLogCruncher.Command".ToLower()); Context = rootContext; foreach (var name in contextName.Split('.')) { Context = Context.GetContext(name); } if (levels.Count(thisLevel => thisLevel.Name.ToLower() == Level.ToLower()) == 0) { levels.Add(new EventLevel(Level)); } }