Блок приложения для ведения журнала в корпоративной библиотеке - как контролировать, где что-либо регистрируется - PullRequest
0 голосов
/ 14 февраля 2012

Мне нужно, чтобы один и тот же код регистрировался в двух разных местах в двух разных контекстах. Это относится ко всему зарегистрированному - информация, предупреждения, ошибки - так что я получаю две отдельные трассы для двух контекстов.

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

Код, инициирующий запись в журнал, знает, в каком контексте он находится. Следовательно, я думаю, что можно было бы «пометить» LogEntry некоторой информацией, а затем заставить фасад LogWriter решить, куда отправлять записи, основываясь на этом. Могу ли я сделать это с помощью только конфигурации? Если нет, что мне нужно расширить / изменить в entlib?

1 Ответ

1 голос
/ 14 февраля 2012

На самом деле это было не так уж сложно выяснить.

Решение состоит в том, чтобы - создать код для создания журнальных записей в 2 разных категориях в зависимости от контекста - распределить записи журнала по двум источникам журналов (*) - настроить фильтр для каждого источника журналов так, чтобы проходила только соответствующая категория

(*) ИМХО, «источник журнала» - это нелогичное имя, но это термин, используемый EntLib для объекта, обеспечивающего фактическую реализацию ведения журнала.На мой взгляд, термин «назначение журнала» или «поставщик журнала» был бы гораздо более подходящим термином.«Источник журнала» будет «источником зарегистрированной информации».

...