Ciao, On Tue, Jan 8, 2019 at 9:21 AM Federico Fissore [email protected] [it-torino-java-jug] <[email protected]> wrote: > Ciao a tutti > > Volevo chiedere il vostro feedback su una libreria che ho scritto ieri, > slf4j-fluent [0]: wrappa slf4j per fornirne una API fluente > > Per provarla in poco tempo vi serve un progetto dove giĆ usate slf4j e > java 8+: aggiungete la dipendenza al pom > > <dependency> > <groupId>org.fissore</groupId> > <artifactId>slf4j-fluent</artifactId> > <version>0.1.0</version> > </dependency> > > e usate il FluentLogger, ad esempio > > FluentLogger log = FluentLoggerFactory.getLogger(getClass()); > > log.atDebug().log("A debug log entry with {} args: {}, {}", 2, "value > 1", lazy(() -> someObject.expensiveMethod())); > > log.atError().withCause(exception).log("An error occured while fetching > user {}", user.getId()); > > Notate i metodi "atDebug" etc per scegliere il livello di logging, > "withCause" per specificare l'eccezione, e "lazy" per posporre la > costosa valutazione di un argomento
Mi sembra che purtroppo devi allocare ogni volta che chiami uno dei metodi di FluentLogger, e non puoi eliminarla se non usando di nuovo if (isDebugEnabled()). Mi sembra un costo da pagare troppo alto, per una libreria di logging e per il beneficio (?) sintattico. -- Simone Bordet --- Finally, no matter how good the architecture and design are, to deliver bug-free software with optimal performance and reliability, the implementation technique must be flawless. Victoria Livschitz
