public static Type GetParserType(string type) { if (!_name2parser.ContainsKey(type)) { throw new ArgumentException("Unknown parser type: " + type); } LogEventParserInfo ri = _name2parser[type]; return(ri.Type); }
public static ILogEventParser CreateLogParser(string type) { if (!_name2parser.ContainsKey(type)) { throw new ArgumentException("Unknown parser type: " + type); } LogEventParserInfo ri = _name2parser[type]; object o = Activator.CreateInstance(ri.Type); ILogEventParser parser = (ILogEventParser)o; return(parser); }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { if (listView1.SelectedItems.Count == 1) { _selectedLogParser = listView1.SelectedItems[0].Tag as LogEventParserInfo; } else { _selectedLogParser = null; } if (ParserChanged != null) ParserChanged(this, new EventArgs()); }
private static void AddParsersFromAssembly(Assembly assembly) { foreach (Type t in assembly.GetExportedTypes()) { if (!t.IsDefined(typeof(LogEventParserAttribute), false)) { continue; } LogEventParserAttribute attr = (LogEventParserAttribute)Attribute.GetCustomAttribute(t, typeof(LogEventParserAttribute), false); LogEventParserInfo ri = new LogEventParserInfo(); ri.Name = attr.Name; ri.Summary = attr.Summary; ri.Description = attr.Description; ri.Type = t; AddParserInfo(ri); logger.Debug("Adding parser to factory {0} ({1})", ri, t.AssemblyQualifiedName); } }
public static void AddParserInfo(LogEventParserInfo ri) { _name2parser[ri.Name] = ri; _parsers.Add(ri); }