I'm trying to write a macro (or something else) to log all the parameters passed to a function, but I'm really stuck here.

In other words I want something like below:

Code:
void test(int a, double b, char c)
{
  __LOG_FUNCTION__
}

void main()
{ 
  test(2,3,'c');
}
I need to write __LOG_FUNCTION__ in someway so the output would be something like:

Code:
Entering function test:
arguments: a = 2, b = 3, c='c'
is this possible in anyway?