如何在spring MVC web项目中设置log4j日志级别

时间:2017-04-01 04:22:21

标签: spring spring-mvc debugging logging log4j

请在下面找到log4j.xml和控制器类。我在log4j.xml中添加了行将日志级别从错误更改为调试。但是在添加这些行之后会看到没有效果

我需要这个设置来调试“HTTP 400:客户端发送的请求在语法上是不正确的。” 有人可以帮我吗?感谢。

的log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="Appender1" class="org.apache.log4j.ConsoleAppender">
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%-7p %d [%t] %c %x - %m%n"/>
       </layout>
    </appender>

    <appender name="Appender2" class="org.apache.log4j.FileAppender">
       <param name="File" value="./Logs/SpringMVC2.log" />
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%-7p %d [%t] %c %x - %m%n"/>
       </layout>
    </appender>

<!--    no effect of these lines -->
<!--    <logger name="org.springframework.web" additivity="false"> -->
    <logger name="org.springframework" additivity="false">
        <priority value ="DEBUG" />
        <level value="DEBUG"/>
        <appender-ref ref="CONSOLE"/>
    </logger>  
    <root>
        <priority value ="DEBUG" />
        <level value="DEBUG"/>
        <appender-ref ref="CONSOLE"/>
    </root>
<!--     /no effect of these lines -->
</log4j:configuration>

控制器类

@EnableWebMvc
@Controller
@RequestMapping(value="/home")
public class HomeController {
    private Logger logger= Logger.getLogger(HomeController.class);
    @RequestMapping(method=RequestMethod.GET)
    public String home() {
        logger.info("sample info log");
        logger.debug("sample debug log");
        logger.trace("sample trace log");
        logger.error("sample error log");
        return "home";
    }
}

1 个答案:

答案 0 :(得分:0)

您定义名称为<appender name="Appender1" class="org.apache.log4j.ConsoleAppender">的appender,但您不能使用它。

而不是使用<appender-ref ref="CONSOLE"/>使用您定义的那个:

<logger name="org.springframework" additivity="false">
    <priority value ="DEBUG" />
    <level value="DEBUG"/>
    <appender-ref ref="Appender1"/>
</logger>