public PDFTraceLog GetLog(TraceRecordLevel level)
        {
            List <PDFTraceLog> all = new List <PDFTraceLog>();

            foreach (TracingLogElement ele in this.LogEntries)
            {
                if (ele.Enabled)
                {
                    IPDFTraceLogFactory fact = ele.GetFactory();
                    all.Add(fact.CreateLog(level, ele.Name));
                }
            }
            if (all.Count == 0)
            {
                return(new Logging.DoNothingTraceLog(level));
            }
            else if (all.Count == 1)
            {
                return(all[0]);
            }
            else
            {
                return(new Logging.CompositeTraceLog(all, string.Empty));
            }
        }
示例#2
0
        private void GetFactoryFromTypeName()
        {
            lock (_lock)
            {
                IPDFTraceLogFactory factory;
                Type   type     = Support.GetTypeFromName(this.FactoryTypeName);
                object instance = Activator.CreateInstance(type);

                factory = (IPDFTraceLogFactory)instance;

                _factory = factory;
            }
        }