While working on a web (JEE based) application I saw some different ways people have instantiated loggers in different classes. First way is classic way like,
private static final Logger logger = LoggerFactory.getLogger(AbstractPersistenceObjectDAO.class);
but as JEE applications are CDI enabled in some managed classes it was injected like
@Inject private Logger logger;
is there any advantage if using logger with CDI, in terms of performance (time or memory)? Are there any downsides of any of these approaches? While @inject can only be used in managed environments, does it offer any advantage over other?