private TypeRegistration CreateLogWriterStructureHolderRegistration() { return (new TypeRegistration <LogWriterStructureHolder>(() => new LogWriterStructureHolder( Container.ResolvedEnumerable <ILogFilter>(LogFilters.Select(lfd => lfd.Name)), TraceSources.Select(tsd => tsd.Name).ToArray(), Container.ResolvedEnumerable <LogSource>(TraceSources.Select(tsd => tsd.Name)), Container.Resolved <LogSource>(AllTraceSourceKey), Container.Resolved <LogSource>(NoMatchesTraceSourceKey), Container.Resolved <LogSource>(ErrorsTraceSourceKey), DefaultCategory, TracingEnabled, LogWarningWhenNoCategoriesMatch, RevertImpersonation)) { Lifetime = TypeRegistrationLifetime.Transient, IsDefault = true }); }
private IEnumerable <TypeRegistration> GetRegistrationsCore(IConfigurationSource configurationSource) { var registrations = new List <TypeRegistration>(); registrations.Add(CreateLoggingInstrumentationProviderRegistration(configurationSource)); registrations.Add(CreateLoggingUpdateCoordinatorRegistration()); registrations.Add(CreateLogWriterRegistration()); registrations.Add(CreateDefaultLoggingEventLoggerRegistration(configurationSource)); registrations.AddRange(TraceListeners.SelectMany(tld => tld.GetRegistrations())); registrations.AddRange(LogFilters.SelectMany(lfd => lfd.GetRegistrations())); registrations.AddRange(Formatters.SelectMany(fd => fd.GetRegistrations())); registrations.AddRange(TraceSources.Select(tsd => tsd.GetRegistrations())); registrations.Add( CreateLogSourceRegistration(SpecialTraceSources.AllEventsTraceSource, AllTraceSourceKey)); registrations.Add( CreateLogSourceRegistration(SpecialTraceSources.NotProcessedTraceSource, NoMatchesTraceSourceKey)); registrations.Add( CreateLogSourceRegistration(SpecialTraceSources.ErrorsTraceSource, ErrorsTraceSourceKey)); registrations.Add(CreateLogWriterStructureHolderRegistration()); registrations.Add(CreateTraceManagerRegistration()); registrations.Add(CreateTracerInstrumentationProviderRegistration(configurationSource)); return(registrations); }