有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spring XML自动连线记录器不确定目标类名

我在SpringXML配置中添加了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是记录器自动连接到的实际类


共 (1) 个答案

  1. # 1 楼答案

    在我看来,您应该为每个类实例化一个记录器:

    private static final Logger logger = Logger.getLogger(AccountValidator.class);
    

    如果您确实需要使用注入,您可以使用CDI的注入点机制。这篇文章是关于你想要什么:

    What is the Spring DI equivalent of CDI's InjectionPoint?