Another trick someone told me about a while back, if you don't want all the "extra" information that the above will also provide, is to just call a method that doesn't exist with your object passed as the parameter. Then, Groovy will complain that it can't find a method matching that signature, and the signature will contain the type of your object.
Once I left a call like fsdaklajsd(myObject) in code I accidentally released, and a user complained about an error in Logs. That was why.