Использование Log4Net для регистрации всех функций, вызываемых в приложениях ASP.NET и C # - PullRequest
1 голос
/ 29 декабря 2011

Вчера я внедряю Log4Net в свое приложение.

Чтобы использовать его, мне нужно написать

 private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);


 log4net.Config.XmlConfigurator.Configure();
 log.Debug("My function called");

Задача:

Мне нужно зарегистрировать каждую функцию моего проекта.

Есть ли какая-либо настройка, которую я могу использовать для регистрации всех вызовов функций без необходимости правого входа в log.Debug () всегда, так как мне нужно отслеживать только имя функции и не нужно никаких сообщений.

Любая помощь приветствуется

Ответы [ 3 ]

2 голосов
/ 29 декабря 2011

То, что вы пытаетесь сделать, называется «Aspect Programimg» - присоединение нового кода к некоторым точкам внутри уже написанного и скомпилированного кода.В C # нет встроенных функций аспекта, поэтому вы должны использовать такие фреймворки, как PostSharp.Подробнее здесь:

Аспектно-ориентированное программирование на C #

Вам необходимо прикрепить свой код регистрации до и после каждого вызова метода.Имейте в виду, что это резко снизит производительность, и журналы будут расти очень быстро.

1 голос
/ 29 декабря 2011

вы можете взглянуть на postsharp, log4net не является инструментом, так что в одиночку он не может делать то, что вы ищете

0 голосов
/ 29 декабря 2011

я думаю, что класс stacktrace мог бы помочь.http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.aspx другая возможность - использовать прослушиватель трассировки .net.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...