Как сделать запись с WPF? - PullRequest
3 голосов
/ 04 марта 2011

Я пишу приложение WPF, использующее шаблон MVVM и использующий Prism в выбранных местах для слабой связи, и я хотел бы, чтобы сообщения регистрации регистрировались в окне и записывались в файл. Подмножество сообщений, идущих в каждую сторону, может не совпадать.

Я думаю, что я должен опубликовать сообщение через EventAggregator (реализация шаблона наблюдателя в MS-Prism) и подписаться на два объекта: один обновляет LogWindowViewModel, а другой регистрирует с помощью регистратора Enterprise Library. Это хорошая идея или я дублирую что-то, что уже реализовано?

Ответы [ 3 ]

2 голосов
/ 04 марта 2011

Ограничивающим фактором является тот факт, что сообщение журнала будет отличаться в каждом выходе.

Расширения блока может быть достаточно, и определение CustomTraceListener или ILogFilter может сработать для вас.Это позволит избежать необходимости использовать EventAggregator.

Это сводится к тому, кто знает, что и где регистрировать.Различаются ли значения в механизме каротажа, такие как серьезность?Вместо этого они управляются потребителем механизма каротажа и поэтому тесно связаны с самим классом?Эти типы вопросов будут определять ваш выбор.

Использование точек расширения в блоке регистрации будет моим первым выбором, прежде чем полагаться на использование EventAggregator.

0 голосов
/ 04 марта 2011

Я использовал Common.Logging в качестве сборщика данных, фильтра и распространителя для чего-то сопоставимого и написал собственный appender для собственной обработки и вывода пользовательского интерфейса.

0 голосов
/ 04 марта 2011

Я думаю, что идея в порядке.Кажется, что не так много функций, которые можно дублировать.

...