uses logging module and handles case where revision object is missing id info