traceroute (tracert for windows) and it's many lookalike programs will trace to nearly any IP address, but that doesn't really tell you what you are looking for.
Because the ISP registers the IP address, when you do a Reverse DNS query, you generally arrive at the ISP's address. I run a server that Reverse resolves to INYC.COM in New York, but the server physically resides in Virginia.
You can, however, do a traceroute, and resolve all of the IP addresses in between and get a pretty good idea what city the address is located in.
Of course if I am devious, and I can be, I will compromise a computer elsewhere in the world and run my exploits through it. I might even do that multiple times, so that the likelihood of you getting accurate log information from 2 or 3 computers is nearly zero. Therefore, the likelihood of you actually identifying me is also nearly 0.
pansophic