We want to log retries and 'giving up' with its own message.
I now implemented this with a condition in the Retry:
if (attempt < MaxAttempts) {normal behavior} else {custom log message}
with MaxAttempts one higher than the actual number of attempts.
I'm not sure what the most elegant solution would be. Maybe a fluent method like GiveUpWith() after Retry?