我已经将此@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);
}