Mentre lavoravo su un'applicazione web (basata su JEE), ho visto diversi modi in cui le persone hanno logger istanziati in classi diverse. Il primo modo è classico come,
private static final Logger logger = LoggerFactory.getLogger(AbstractPersistenceObjectDAO.class);
ma poiché le applicazioni JEE sono abilitate al CDI in alcune classi gestite, è stata iniettata come
@Inject
private Logger logger;
C'è qualche vantaggio se si utilizza il logger con CDI, in termini di prestazioni (tempo o memoria)? Ci sono degli aspetti negativi di qualcuno di questi approcci? Mentre @inject può essere utilizzato solo negli ambienti gestiti, offre qualche vantaggio rispetto ad altri?