Is it possible to log calls of .NET methods made while an application is running?
Yes. I normally use this: http://www.jetbrains.com/profiler/ (there's a free trial).
Perhpas you are interested in one of the following options:
Use existing profiler to visualise calls of .NET methods. It depends on profiler and their functionality but ANTS or DotTrace work just fine if you don't need something absolutely special.
If you are interested in low-level implementation including heap state at the moment of the call then you might be interested in WinDBG + Sos and its tracing options (wt command). Just set breakpoints in WinDbg, run app and collect traces including low level calls.
In case there is a implicit requiremt to log you can use .NET profiling API (C++) and log everything you want to or profiling API from dotTrace profiler (C#) (it is shiped with dotTrace).
Hope it helps.
yes use postsharp. Do the 'Getting Started' tutorial, it pretty much tells you how to do what you want. Using postsharp you may 'log' method calls in any third party party assembly.
Craig,
You can try Runtime Flow. It is a new product and can't for example catch function parameters, but its main purpose is to log calls of .NET methods made while an application is running.
Currently Runtime Flow works best with source code available, but can be configured to monitor a dll without source code.