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)); } }
private void GetFactoryFromTypeName() { lock (_lock) { IPDFTraceLogFactory factory; Type type = Support.GetTypeFromName(this.FactoryTypeName); object instance = Activator.CreateInstance(type); factory = (IPDFTraceLogFactory)instance; _factory = factory; } }