I've encountered a case where I've left a bean requiring itself to be autowired and it took me a long time to understand what was wrong since log didn't indicate the cycle properly (if there's one bean in cycle, there are no arrows or whatsoever).

How it looks now:

2021-04-28 13:43:34,929 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter:40 - 

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

┌─────┐
|  beanName defined in file [xxx/yyy.class]
└─────┘

This one would look better in this case:

┌──->──┐
|  beanName defined in file [xxx/yyy.class]
└──<-──┘

How it looks when there are more than one bean (it's clear to understand):

┌─────┐
|  beanName1 defined in file [xxx/yyy.class]
↑     ↓
|  beanName2 defined in file [xxx/zzz.class]
└─────┘

I'm willing to submit a PR for this issue if you think this change is an appropriate one.

Comment From: wilkinsona

I like that idea. Thanks for the suggestion. A pull request would be great please.

Comment From: philwebb

Closing in favor of PR #26292. Thanks @Haarolean