A free app for Android, by Chainfire.
GeoLog is a new kind of location tracker which changes tracking characteristics based on where you are and what you are doing.
GeoLog is a tool for location tracking which allows you to set different configurations for the app. These include:
How frequently the app should gather location data (every minute, five minutes, etc)
What actions should the app take (start, stop, pause, resume, etc)
What services should the app use (GPS, WiFi, etc)
What kind of device should the app run on (Android, iPhone, etc)
The settings are saved and applied to all your devices. You can change them as often as you like.
You can also export your data to a GPX file, which can be read in Google Earth.