/// <summary> /// Чтение листнеров из конфигурации и запись в указанный логгер /// </summary> /// <param name="logger">Целевой логгер</param> /// <param name="listeners">Коллекция элементов листенеров из конфигурации</param> private static void ReadListeners(ILogger logger, IEnumerable <ListenerElement> listeners) { var listenersFromConfg = new List <Listener>(); foreach (var listener in listeners) { var newListener = new Listener() { Name = listener.Name }; foreach (var filter in listener.Filters.Cast <FilterElementBase>()) { newListener.AddFilter(filter); } foreach (var adapterElement in listener.Adapters.OfType <LogAdapterElement>().Where(el => el != null)) { if (adapterElement.IsEnabled == false) //не создаем адаптер если он выключен { continue; } var newAdapter = CreateAdapter(adapterElement); if (newAdapter != null) { newListener.AddAdapter(newAdapter); } } listenersFromConfg.Add(newListener); logger.AddListener(newListener); } }