Q:

Log all function invocations to console

It occurs pretty often that I start debugging a class by logging every function call to console and looking for differences in the bugged cases.
Is there some attribute that I can apply to a class to enable such a tracing? It's pretty exhausting to have to enter these
Console.WriteLine("classname: methodname")

to every method and to remove them afterwards (removing can be done by conditional compilation, but it is not very nice to look at the code when you have all this redundance)

A:

There was an add-on tool someone mentioned to me, using Attributes. Let's see if I can find it.
I think it was PostSharp:
Article
http://www.postsharp.org/

A:

You can use PostSharp to intercept all method calls and print them even with all arguments and it does not require source code changes. This CodeProject article shows how to do logging with PostSharp.
Just to note, PostSharp is an aspect-oriented programming (AOP) framework and there are some more.

