This really isn't hidden, but somehow we've been using Unity for years without ever realizing. Debug.Log (and related methods) actually have a second argument you can fill in. Pass it an Object as a second argument, like so:
Debug.Log( "Some sort of problem!", myGameObject );
This will print to the Unity console as normal, but filling in the object means clicking on the log entry will take you to that object in the hierarchy.