Well, if overloading stringification calls a function (method, whatever), caller will return name/file/line of who is calling .... so yeah, caller tells you what file on what line, and you can peek at the source to see if its a call to print .... hopefully that rings some alarms for you :)