Skip to content

feat(web): add Spring HTTP client and server logging - #147

Merged
youngledo merged 6 commits into
mainfrom
codex/http-logging-plan
Aug 25, 2026
Merged

feat(web): add Spring HTTP client and server logging#147
youngledo merged 6 commits into
mainfrom
codex/http-logging-plan

Conversation

@youngledo

Copy link
Copy Markdown
Contributor

Summary

  • reorganize Spring HTTP logging and RestClient APIs by abstraction level
  • add shared query removal, header/JSON redaction, and capped body-description policy
  • add monotonic outbound duration and transparent synchronous/async Servlet logging
  • auto-configure inbound Web MVC logging with a disabled-by-default NONE registration
  • add focused, real Boot, AOT, and Native Image verification
  • synchronize English and Chinese documentation
  • remove the previously completed request-validation planning artifacts

Compatibility

This intentionally introduces a source and binary package break without compatibility aliases:

  • org.jfoundry.web.spring.HttpLoggingLevel -> org.jfoundry.http.spring.HttpLoggingLevel
  • org.jfoundry.web.spring.HttpLoggingInterceptor -> org.jfoundry.http.spring.client.HttpLoggingInterceptor
  • org.jfoundry.web.spring.RestClientSupport and its error types -> org.jfoundry.web.spring.client.*

ProblemDetailRenderer remains in org.jfoundry.web.spring. Outbound logging still defaults to BASIC; inbound logging defaults to NONE.

Verification

  • mvn -pl jfoundry-runtime/jfoundry-spring/runtime/jfoundry-web-spring -am test
  • focused Web MVC and outbound auto-configuration tests
  • focused six-module Spring Web reactor test
  • mvn -pl jfoundry-runtime/jfoundry-spring/jfoundry-spring-integration-tests -am -Pit verify
  • mvn validate
  • GRAALVM_HOME=<graalvm> bash scripts/verify-runtime-ci.sh spring --stage native
  • JAVA_25_HOME=<jdk25> bash scripts/verify-ci-matrix.sh
  • git diff --check

Introduce shared redaction policy, monotonic client and Servlet durations, Web MVC auto-configuration, and runtime probes.\n\nBREAKING CHANGE: Spring HTTP client logging and RestClient APIs moved to org.jfoundry.http.spring, org.jfoundry.http.spring.client, and org.jfoundry.web.spring.client without compatibility aliases.
Add shared HTTP logging policy and JAX-RS providers for Quarkus and Helidon, including automatic MicroProfile REST Client registration and runtime integration tests.

BREAKING CHANGE: HttpLoggingLevel moves from org.jfoundry.http.spring to org.jfoundry.http.
@youngledo
youngledo enabled auto-merge (rebase) August 25, 2026 10:29
@youngledo
youngledo merged commit cf38b7e into main Aug 25, 2026
20 checks passed
@youngledo
youngledo deleted the codex/http-logging-plan branch August 25, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant