execute

Execute a thunk of a method which might throw a RepositoryException. The call
is logged to writer right before it is actually performed and after it returns. Any
exception thrown by the call is logged before it is re-thrown.