我已经在Spring xml配置中添加了log4j
记录器,以便以后将其用作组件:
<bean id="logger" class="org.apache.log4j.Logger" factory-method="getLogger">
<constructor-arg type="java.lang.String" value="LoggerName"/>
</bean>
似乎一切正常,但日志未指向已自动接线的目标类:
2016-06-30 09:54:23 DEBUG LoggerName:29 - Account does not exists
如何正确设置Logger bean,以使其确定目标类名称,如下所示:
2016-06-30 09:54:23 DEBUG AccountValidator:29 - Account does not exists
AccountValidator
是Logger自动连接到的实际类? 最佳答案
我认为您应该为每个类实例化一个记录器:
private static final Logger logger = Logger.getLogger(AccountValidator.class);
如果您绝对需要通过注入来完成它,则可以使用CDI注入点机制。这篇文章是关于你想要的:
What is the Spring DI equivalent of CDI's InjectionPoint?