feat: Refine logging levels (#985)

The logging is sometimes too verbose and uses inappropriate level. With this
change there should be less disturbing logs and less duplication.

Notable changes:

* `LifeCycleInitializer#handleException` - duplicated log, already handled in
  transports that use the initializer.
* `McpClientSession#sendRequest` - an MCP protocol level error in JSON-RPC is
  not really a reason for ERROR level log. Using INFO with more details.
* `DefaultJsonSchemaValidator` - ERROR logs in `validate` are always logged by
  the users of this method. `validateSchema` surfaces as
  `IllegalArgumentException` and can be logged at higher levels by the user.

Also: remove DEBUG logs from mcp-test module.

Signed-off-by: Dariusz Jędrzejczyk <2554306+chemicL@users.noreply.github.com>
This commit is contained in:
Dariusz Jędrzejczyk 2026-05-27 11:50:48 +02:00 • committed by GitHub
commit c8ab3411b9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="DOCKER" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level [DOCKER] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- Testcontainers framework -->
<logger name="org.testcontainers" level="INFO" additivity="false">
<appender-ref ref="DOCKER"/>
</logger>
<!-- Docker Java client -->
<logger name="com.github.dockerjava" level="INFO" additivity="false">
<appender-ref ref="DOCKER"/>
</logger>
<!-- Container output (tc.<image-name> format used by Testcontainers) -->
<logger name="tc" level="INFO" additivity="false">
<appender-ref ref="DOCKER"/>
</logger>
<logger name="io.modelcontextprotocol" level="INFO"/>
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
</configuration>