我已将此@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
调用方法时,看不到任何请求记录。
那是为什么?我该如何解决?
我已经添加了
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG
在application.properties
文件中
答案 0 :(得分:1)
我也遇到同样的情况,可以通过删除日志设置来解决它。
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);
}
答案 1 :(得分:0)
尝试在 application.properties 文件中将级别更改为 TRACE:
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=TRACE
DEBUG 对我不起作用,但 TRACE 起作用了。