Как я уже говорил, в LogBook предусмотрены дополнительные фичи, позволяющие использовать его в самых различных сценариях. Например:
Сцена 1. Сервис. Действующие лица: WCF, LogBook.
Поскольку framework WCF черезвычайно легко расширяется, подключить LogBook к нему одно удовольствие. На тему расширения WCF очень хорошо написал Aaron Skonnard здесь. Так вот, LogBook расширяет WCF при помощи поведения сервиса, реализованного в виде аттрибута, который вы можете декларативно применить к любому WCF сервису. Что же добавляет это поведение? Оно добавляет ErrorHandler ко всем ChannelDispatcher'ам и MessageInspector ко всем DispatchRuntime'ам EndpointDispatcher'ов.
Таким образом соотвественно настроенный LogBook может логировать ошибки и трассировать сообщения, происходящие при работе сервиса.
ErrorHandler, вызывает метод WriteErrorMessage фасада LogBook.
MessageInspector, вызывает метод WriteTraceMessage фасада LogBook.
Сцена 2. DLinq. Действующие лица: DLinq, LogBook.
В DLinq предусмотрено подключение простого логгера, в который будут сваливаться все запросы, выполняемые системой. Этот логгер должен быть наследником TextWriter и переопределять как минимум метод Write(string). Для LogBook я написал простенькую реализацию, которая будучи подключенной к любому DLinq DataContext'у будет трассировать все запросы.
Linq tracer.
Сцена 3. .Net. действующие лица: System.Diagnostics, LogBook.
И последнее. Вы можете подключить LogBook к системе трассировки .Net при помощи простого TraceListner. Довольно удобно для приложений, код которых вам недоступен. С помощью этого прослушивателя трейсов вы сможете перенаправить сообщения в сервис логирования.
TraceListener.
Кроме того, в System.Diagnostics.Trace нельзя было передать контекст. А здесь можно.
Вот вкратце все сладости в LogBook. Жду предложений по дополнительным фичам!
Удачи!
среда, 11 июня 2008 г.
Enterprise logging system. Part 5. Features.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий