Похоже, вы смешиваете концепцию ведения журнала / трассировки через Trace.Write и Trace.WriteLine с регистрацией / трассировкой с использованием объектов TraceSource.
Объекты TraceSource позволяют вам индивидуально управлять (через переключатели) «объектами журналирования», так что вы можете включить вход в систему для некоторого вашего кода и выключить для других частей вашего кода. Выходные данные из объектов TraceSource можно настроить для перехода к различным TraceListener (или к одному и тому же TraceListener). Trace.WriteLine не очень гибок. Он может быть настроен только с одним уровнем (т. Е. Глобально вы можете войти в Debug или Info или любым другим), тогда как в TraceSources один TraceSource может регистрироваться в Debug, а другой - в Info, а другой может быть полностью выключен.
См. Мои ответы в этих ссылках, где приведены примеры того, как настроить TraceSources и как использовать их в коде.
Как использовать TraceSource для классов
Отключение трассировки через app.config
Какой лучший подход к ведению журнала?
Добавление методов трассировки в System.Diagnostics.TraceListener
Относительно того, как вы хотите, чтобы ваша трассировка / логирование работала в выпуске debug vs, у вас может быть два разных файла app.config. Оба будут определять один и тот же TraceSources (т.е. один и тот же набор «именованных» объектов трассировки / ведения журнала). В файле app.config, который будет использоваться с отладочными сборками, вы можете установить уровень трассировки / ведения журнала равным одному значению Debug / Info / Wh независимо, и вы можете направить вывод в консоль и / или файл и / или что-либо еще. В файле app.config, который будет использоваться с отладочными сборками, вы можете установить для уровня трассировки / ведения журнала другое значение (или Выкл.) И направить вывод в файл.
В оба поста выше я включил несколько других ссылок на информацию о System.Diagnostics, включая проект Ukadc.Diagnostics . Этот проект предоставляет очень интересную возможность форматирования для использования с TraceListeners на основе System.Diagnostics (при условии, что слушатели исходят из Ukadc.Diagnostics) без каких-либо изменений в ваших реальных операторах трассировки / регистрации. Возможность форматирования аналогична возможностям log4net и NLog.
Прочитайте информацию, которую я связал выше, и посмотрите, поможет ли это. Попробуйте использовать TraceSources, а не только Trace.WriteLine. Если вам это удобно, возможно, загляните в Ukadc.Diagnostics.