У метода Logger.Write в EL отсутствуют перегрузки?Другие структуры ведения журналов предлагают эти API? - PullRequest
0 голосов
/ 16 февраля 2011

Я недавно начал использовать блок ведения журнала Enterprise library 5.0 и у меня есть два наблюдения.

  1. Мой формат регистрации - отметка времени, серьезность и само сообщение. Я не смог найти никакой перегрузки метода Logger.Write, который принимает параметры уровня сообщения и серьезности. Очевидно, что я могу использовать другие перегрузки, которые принимают такие вещи, как категория, идентификатор события, приоритет и т. Д. Немного странно, что нет перегрузки только для сообщения и серьезности, таких как

    public static void Write (объектное сообщение, серьезность TraceEventType);

    Есть ли у кого-то такое же наблюдение или я что-то упустил?

  2. Я также не нашел никакой перегрузки для Logger.Write, которая принимает параметр объекта Exception. Это тоже удивительно для меня. Было бы хорошо иметь перегрузку, которая принимает объект исключения и регистрирует такие вещи, как отслеживание стека, внутреннее исключение и т. Д. Кому-нибудь еще это покажется удивительным?

Я предполагаю, что другие структуры, такие как (log4net, NLog), имеют интерфейсы этого типа, доступные в их API?

1 Ответ

1 голос
/ 19 февраля 2011

Просто используйте перегрузку Write, которая принимает LogEntry. Вы можете создать LogEntry и установить только те свойства, которые вам нужны. Вы всегда можете получить StackTrace для своего объекта Exception и добавить его в свою запись в журнале.

Другим вариантом регистрации исключений с помощью политик является Обработчик ведения журнала блока обработки исключений .

...