CommonsRequestLoggingFilter

CommonsRequestLoggingFilter

我已经将此@Bean添加到我具有main函数的类中

@Bean
    public CommonsRequestLoggingFilter requestLoggingFilter() {
         System.out.println("inside logging filter");
        CommonsRequestLoggingFilter loggingFilter = new CommonsRequestLoggingFilter();
        loggingFilter.setIncludeClientInfo(true);
        loggingFilter.setIncludeQueryString(true);
        loggingFilter.setIncludePayload(true);
        loggingFilter.setIncludeHeaders(false);
        return loggingFilter;
    }

在应用程序启动时,
inside logging filter

从控制台打印出来,但是当我从RestController调用method时,我看不到任何请求记录。

这是为什么?我如何解决它?

我已经加了
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG

application.properties文件中

最佳答案

我遇到过同样的情况,可以通过删除日志设置来解决。

logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG

它在没有此设置的情况下运行。

另外,如果您想更改日志级别,则可以定义扩展AbstractRequestLoggingFilter的类并像这样编写日志。
@Override
protected void beforeRequest(HttpServletRequest request, String message) {
    logger.info(message);
}

@Override
protected void afterRequest(HttpServletRequest request, String message) {
    logger.info(message);
}

10-02 07:26