In my opinion, this is one area where AOP (Aspect Oriented Programming) can bring value into. Although the tools are not ready yet for prime time for .NET, it should be possible with AOP to dynamically activate trace for an application or specific methods of an application with a config file or a GUI.
I know that LOOM.NET has an exemple of this. Dunno for the others.
Although not quite AOP, but a post-compiler instead, we can do that with eXtensible C# (including getting the values of parameters). If someone is interested in having an example of this, just let me know.
I guess AspectJ covers this for Java as it is very advanced compared to what we have for .NET.