Also:

If a rename fails, the the appender tries to re-open the old file. If that fails, it sets File to nil and returns false. On the return of false, this function also returns. None of the error messages in this execution path imply anything about future logging failing (as the below error message does).