Reputation: 3854
Yesterday i implement Log4Net in my application.
To use it i need to write
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
log4net.Config.XmlConfigurator.Configure();
log.Debug("My function called");
Problem:
I need to log every function of my project.
Whether there is some setting that i can use to log all function calls without need to right log.Debug() always as i need to track only function name and don't need any message.
Any help is appreciated
Upvotes: 1
Views: 2418
Reputation: 6675
What you are trying to do is called "Aspect Programimg" - attaching new code to some points inside already written and compiled code. There is no built-in aspect features in C# so you have to use framework like PostSharp. More here:
Aspect Oriented Programming in C#
You need to attach your logging code before and after each method invocation. Mind that it will decrease performance dramatically, and the logs will grow really fast.
Upvotes: 2
Reputation: 2748
you can have a look at postsharp, log4net is not an aop tool, so alone it cant do what you are looking out for
Upvotes: 1
Reputation: 2646
i think the stacktrace class could help. http://msdn.microsoft.com/en-us/library/system.diagnostics.stacktrace.aspx another possibility is to use a .net trace listener.
Upvotes: 0