Example #1
0
        public static Type GetParserType(string type)
        {
            if (!_name2parser.ContainsKey(type))
            {
                throw new ArgumentException("Unknown parser type: " + type);
            }

            LogEventParserInfo ri = _name2parser[type];

            return(ri.Type);
        }
Example #2
0
        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());
 }
Example #4
0
        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);
            }
        }
Example #5
0
 public static void AddParserInfo(LogEventParserInfo ri)
 {
     _name2parser[ri.Name] = ri;
     _parsers.Add(ri);
 }