我想使用CommonsRequestLoggingFilter记录我的应用程序请求,我有一个@Configuration类
@Configuration
public class RequestLoggingConfig {
@Bean
public CommonsRequestLoggingFilter logFilter() {
CommonsRequestLoggingFilter filter
= new CommonsRequestLoggingFilter();
filter.setIncludeQueryString(true);
filter.setIncludePayload(true);
filter.setMaxPayloadLength(10000);
filter.setIncludeHeaders(true);
filter.setAfterMessagePrefix("REQUEST DATA : ");
return filter;
}
}
问题是,此配置类位于我的“ Core”模块中,我将其作为依赖项添加到我的应用程序中,该核心模块具有自己的属性文件core.properties
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG
我的应用程序具有其自己的application.properties,其中不包括上面的行,它还具有一个@PropertySource("classpath:core.properties")
批注以使用核心模块属性文件。运行应用程序时,可以看到过滤器已配置,并且如果我转到/actuator/env
端点,则会看到属性集
[...]
{
"name": "class path resource [core.properties]",
"properties": {
"management.endpoints.web.exposure.include": {
"value": "*"
},
"spring.jackson.default-property-inclusion": {
"value": "non_null"
},
"spring.jackson.mapper.default-view-inclusion": {
"value": "true"
}
}
}
[...]
但是我没有收到我发出的请求的日志,如果我把这一行放在那儿,这很有趣
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG
在application.properties文件中,日志运行正常。 我的问题是:我在做什么错?我还有其他步骤吗?
答案 0 :(得分:0)
您是否使用logback.xml
文件记录日志?如果那样的话,也许您也可以尝试更新此文件。
您是否重建了JAR / WAR文件? (如果在intellij上,则可能尝试启动构建以确保所有内容都是最新的!)
还使用执行器,您可以查看(并且也可以更改,但这不是重点)记录级别。调用记录器端点时会看到什么?