昨天我在我的应用程序中实现了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()总是因为我只需要跟踪函数名称而不需要任何消息。
感谢任何帮助
答案 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跟踪侦听器。