Класс Tracer для автоматической регистрации входа и выхода метода

Я хочу, чтобы трассировка в каждой функции входа и выхода. Скажем, мой класс содержит три метода MethodA MethodB MethodC... Через экземпляр кто-то с именем MethodA и methodA вызывает MethodB, а MethodB вызывает methodC

public class test
{
   Public void MethodA()
   {
      MethodB();
   }
   public void MethodB()
   {
      // Some Operation
      MethodC();
   }
   public void MethodC()
   {
      //Some Operation
   }
}

Теперь, когда кто-то вызывает, как test obj = new test(); и obj.MethodA(); Я хочу, чтобы трассировщик записал в базу данных что-то вроде "Введенный метод А", в следующей строке "Введенный метод В", в следующей строке "Введенный метод С", а затем "Выйденный метод С", "Выйти из метода В" и, наконец, "Выйти из метода А"

Мое ограничение: я не должен писать этот код трассировки в каждом входе и выходе из метода. Я хочу, чтобы это произошло автоматически. Просто задайте для файла Key of App.config значение true, и трассировщик должен начать действие, а false означает, что трассировка отключена.

Это мы хотим отладить приложение Live производства.

Для этого у нас есть два способа:

Оберните экземпляр класса Test политикой, используя блок "Применение политики": создайте обработчик политики из ICallHandler, затем создайте MatchingRule, в MatchingRule прочитайте файл app.config и верните true, если трассировка включена, иначе false.

Недостатком этого является то, что каждый раз, когда мы создаем экземпляр любого класса через контейнер Policy, система будет читать файл app.config, а затем считывать политики, присутствующие в файле конфигурации, даже если трассировка отключена... Это может ухудшить спектакль...

Мы нашли другой подход, то есть класс Tracer, присутствующий внутри блока приложения ведения журнала. Он имеет что-то вроде функциональности выхода метода. http://www.michaelhamrah.com/blog/2010/02/performance-tracing-for-your-applications-via-enterprise-library/

Пожалуйста, предоставьте еще немного идей о классе Tracer. Может ли мое требование соответствовать подключению класса Tracer.

  • ПОСТШАП НЕ В МОЕМ БЮДЖЕТЕ

Большое спасибо,

Сураджа

0 ответов