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

Reply via email to