Dennis-Mircea commented on code in PR #1170:
URL: 
https://github.com/apache/flink-kubernetes-operator/pull/1170#discussion_r3734379314


##########
docs/content.zh/docs/operations/logging.md:
##########
@@ -115,10 +115,10 @@ Logback XML overrides replace the entire default 
configuration. Unlike Log4j2 `.
 
 ## Logging Library Version Overrides
 
-The operator ships with Logback 1.2.x and SLF4J 1.7.x. These versions are 
bundled in the Docker image and the SLF4J 1.7.x API is shaded into the operator 
JAR.
+The operator ships with Logback 1.5.x and SLF4J 2.0.x. These versions are 
bundled in the Docker image and the SLF4J 2.0.x API is shaded into the operator 
JAR.
 
 {{< hint warning >}}
-Upgrading to Logback 1.4+/1.5+ or SLF4J 2.x is not supported. SLF4J 2.x uses a 
`ServiceLoader`-based binding mechanism that is incompatible with the SLF4J 
1.7.x API shaded inside the operator. Replacing the JARs at runtime will result 
in `ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder`.
+Downgrading to Logback 1.2.x or SLF4J 1.7.x is not supported. SLF4J 2.x 
locates the backend through a `ServiceLoader` 
(`org.slf4j.spi.SLF4JServiceProvider`), whereas Logback 1.2.x provides the 
older `org.slf4j.impl.StaticLoggerBinder`, which SLF4J 2.x ignores. Replacing 
the JARs at runtime does not raise an error: SLF4J falls back to a no-operation 
logger and all log output is silently discarded.
 {{< /hint >}}

Review Comment:
   You're right about that this section is now just one sentence. After 
thinking a bit more on this I'd say that having the following content as part 
of this section will be the right call:
   ```
   The operator's image bundles the SLF4J API (shaded into the operator JAR) 
and both logging frameworks: Log4j2 2.x by default, and Logback 1.5.x when 
`logging.framework=logback` is set. The bundled SLF4J API is 2.0.x.
   
   These versions can be changed by rebuilding the image, for example to adopt 
a newer patch release before the operator does.
     
   {{< hint warning >}}
   Because the bundled SLF4J API is 2.x, a replacement framework must provide 
an SLF4J 2.x binding. A release
   built for the older SLF4J 1.7 API will not bind, so the operator runs 
normally but produces no log output at all. Only Log4j2 2.19+ and Logback 1.3+ 
are compatible.
   {{< /hint >}}
   ```
   
   This new content includes the Log4j2 as well and let the users aware of both 
versioning management.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to