Ho usato Spring Boot 1.5 che utilizza Logback.
Ho creato oggetti evento nei controller e li ho convalidati usando @EventListener. Quando si è verificato un errore di convalida, ho generato una ApplicationSpecificException e l'ho acquisita globalmente utilizzando @ControllerAdvice @ExceptionHandler. Ho pensato che avrebbe reso il mio design più pulito.
Il fatto è che questi tipi di eccezioni (che, ora che ci penso, sono usate per il flusso di controllo) sono scritte nei miei registri. Sono abbastanza sicuro di non averne bisogno, quindi sto creando un filtro per ignorarli. Si tratta di un odore progettuale di utilizzare le eccezioni in modo non appropriato?
Una cosa che posso fare è catturare le eccezioni nel mio controller prima che si propaghino ai miei gestori di eccezioni globali, ma vengono comunque utilizzate delle eccezioni come meccanismo del flusso di controllo (tra listener di eventi e controller).
Qualche altro suggerimento? Sto facendo davvero sth qui? Dovrei refactoring il mio codice per restituire i booleani? Posso ricordare a Clean Code gli stati "Usa le eccezioni piuttosto che i codici di ritorno" se ti rende più pulito il codice. Grazie