使用Log4Net记录ASP.NET和C#应用程序中调用的所有函数

时间:2011-12-29 10:52:35

标签: c# log4net

昨天我在我的应用程序中实现了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 个答案:

答案 0 :(得分:2)

您要做的事情被称为“Aspect Programimg” - 将新代码附加到已编写和编译的代码中的某些点。 C#中没有内置的方面功能,因此您必须使用PostSharp之类的框架。更多信息:

Aspect Oriented Programming in C#

您需要在每次方法调用之前和之后附加日志记录代码。请注意,它会显着降低性能,并且日志会快速增长。

答案 1 :(得分:1)

你可以看看postharp,log4net不是一个aop工具,所以单独它不能做你想要的东西

答案 2 :(得分:0)

我认为stacktrace类可以提供帮助。 http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.aspx 另一种可能性是使用.net跟踪侦听器。