package com.softwaremill.common.cdi.logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.InjectionPoint;
/**
* @author Adam Warski (adam at warski dot org)
*/
public class LoggerProducer {
@Produces
public Logger produceLog(InjectionPoint injectionPoint) {
Bean<?> bean = injectionPoint.getBean();
if (bean == null) {
return LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass());
} else {
return LoggerFactory.getLogger(bean.getBeanClass());
}
}
}