re-update log.py

added better time jump handling and made the main loop escapable (again)