引用log4j.xml后maven依赖spring-data-rest-webmvc,包的缩写

时间:2013-01-29 12:54:38

标签: spring logging spring-data-rest

我的(java)Spring 3项目有问题:

我已将maven依赖项包含在“spring-data-rest-webmvc”(版本1到1.0.0-RC3)中,其中不再使用标准log4j.xml。相反,它似乎使用了一些其他属性日志记录文件(我找不到),不在我的包中,也不在spring-data-rest-webmvc源中。

与日志链接问题一起,包名都是缩写的,我认为这是奇数(至少意外)。

我确实希望使用这个Spring包轻松创建安静的Web服务。

我想在使用spring包时控制我的log4j属性文件。顺便说一下,似乎使用了三个日志系统(log4j,slf4j和commons-logging),应该不是问题吧?

2 个答案:

答案 0 :(得分:2)

很难说没有代码,但最有可能发生的事情是,当你添加spring-data-rest-webmvc依赖时,你的项目已经依赖于logback-classic。

如果您将logback.xml文件与log4j.xml旁边的内容放在logback.xml中,则会再次拾取log4j。

<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>
            %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
        </pattern>
    </encoder>
</appender>
<logger name="org.springframework.data.rest" level="INFO" />
<root level="INFO">
    <appender-ref ref="stdout" />
</root>
</configuration>

答案 1 :(得分:1)

或者,要摆脱这个DEBUG级别的输出,只需排除logback依赖性。在maven,它将是:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-rest-webmvc</artifactId>
    <exclusion>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
    </exclusion>
</dependency>