Foolishly, when working on a recent gateway implementation (usaepay) I wrote a custom logging function to keep track of what was happening.
Turns out there's already something there to do it
If you want to call it from outside the payment_method inheritance tree use
In both cases your payment method needs to have its debug config setting enabled e.g. for my usaepay module
echo Mage::getStoreConfig('payment/usaepay/debug'); >> 1