【问题标题】:How to set log4j log level in spring MVC web project如何在 Spring MVC Web 项目中设置 log4j 日志级别
【发布时间】:2017-08-26 10:34:58
【问题描述】:

请在下面找到 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";
    }
}

【问题讨论】:

    标签: spring spring-mvc debugging logging log4j


    【解决方案1】:

    您使用名称 &lt;appender name="Appender1" class="org.apache.log4j.ConsoleAppender"&gt; 定义了 appender,但您不使用它。

    不要使用&lt;appender-ref ref="CONSOLE"/&gt;,而是使用您定义的那个:

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

    【讨论】:

    • 它不工作。 Appender 在开头定义了模式“06:31:51.643 [http-nio-8080-exec-1] ERROR random error”
    猜你喜欢
    • 1970-01-01
    • 2017-07-10
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    相关资源
    最近更新 更多