1212import org .springframework .web .servlet .config .annotation .EnableWebMvc ;
1313
1414import com .sap .hcp .cf .logging .sample .springboot .keystore .KeyStoreDynLogConfiguration ;
15- import com .sap .hcp .cf .logging .servlet .dynlog .DynLogConfiguration ;
15+ import com .sap .hcp .cf .logging .servlet .dynlog .DynamicLogLevelConfiguration ;
16+ import com .sap .hcp .cf .logging .servlet .filter .AddHttpHeadersToLogContextFilter ;
17+ import com .sap .hcp .cf .logging .servlet .filter .AddVcapEnvironmentToLogContextFilter ;
18+ import com .sap .hcp .cf .logging .servlet .filter .CompositeFilter ;
19+ import com .sap .hcp .cf .logging .servlet .filter .CorrelationIdFilter ;
20+ import com .sap .hcp .cf .logging .servlet .filter .DynamicLogLevelFilter ;
21+ import com .sap .hcp .cf .logging .servlet .filter .GenerateRequestLogFilter ;
1622import com .sap .hcp .cf .logging .servlet .filter .RequestLoggingFilter ;
1723
1824@ SpringBootApplication
@@ -31,9 +37,10 @@ public static void main(String[] args) {
3137 * @return a registration of the {@link RequestLoggingFilter}
3238 */
3339 @ Bean
34- public FilterRegistrationBean <RequestLoggingFilter > loggingFilter (@ Autowired DynLogConfiguration dynLogConfig ) {
35- FilterRegistrationBean <RequestLoggingFilter > registrationBean = new FilterRegistrationBean <>();
36- registrationBean .setFilter (new RequestLoggingFilter (() -> dynLogConfig ));
40+ public FilterRegistrationBean <MyLoggingFilter > loggingFilter (
41+ @ Autowired DynamicLogLevelConfiguration dynLogConfig ) {
42+ FilterRegistrationBean <MyLoggingFilter > registrationBean = new FilterRegistrationBean <>();
43+ registrationBean .setFilter (new MyLoggingFilter (dynLogConfig ));
3744 registrationBean .setName ("request-logging" );
3845 registrationBean .addUrlPatterns ("/*" );
3946 registrationBean .setDispatcherTypes (DispatcherType .REQUEST );
@@ -48,4 +55,13 @@ public FilterRegistrationBean<RequestLoggingFilter> loggingFilter(@Autowired Dyn
4855 public Clock clock () {
4956 return Clock .systemUTC ();
5057 }
58+
59+ private class MyLoggingFilter extends CompositeFilter {
60+
61+ private MyLoggingFilter (DynamicLogLevelConfiguration dynLogConfig ) {
62+ super (new AddVcapEnvironmentToLogContextFilter (), new AddHttpHeadersToLogContextFilter (),
63+ new CorrelationIdFilter (), new DynamicLogLevelFilter (() -> dynLogConfig ),
64+ new GenerateRequestLogFilter ());
65+ }
66+ }
5167}
0 commit comments