apache / doris

Apache Doris is an easy-to-use, high performance and unified analytics database.
https://doris.apache.org
Apache License 2.0
12.77k stars 3.29k forks source link

[Fix](log)To avoid SLF4J multiple binding issues and unnecessary dependency propagation. #44310

Closed CalvinKirs closed 2 days ago

CalvinKirs commented 2 days ago

What problem does this PR solve?

2024-11-20 10:50:42,967 ERROR (main|1) [Util.report():128] SLF4J: Class path contains multiple SLF4J bindings.
2024-11-20 10:50:42,968 ERROR (main|1) [Util.report():128] SLF4J: Found binding in [jar:file:/Users/calvinkirs/.m2/repository/org/slf4j/slf4j-reload4j/1.7.36/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class]
2024-11-20 10:50:42,969 ERROR (main|1) [Util.report():128] SLF4J: Found binding in [jar:file:/Users/calvinkirs/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.18.0/log4j-slf4j-impl-2.18.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
2024-11-20 10:50:42,969 ERROR (main|1) [Util.report():128] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
2024-11-20 10:50:42,993 ERROR (main|1) [Util.report():128] SLF4J: Actual binding is of type [org.slf4j.impl.Reload4jLoggerFactory]

SLF4J requires only one binding implementatio to be present at runtime. By setting the scope of other bindings, such as slf4j-reload4j, to test, we ensure that only the explicitly specified binding, like log4j-slf4j-impl, is used in the production environment, preventing runtime conflicts.

hadoop-auth introduces slf4j-reload4j

None

Check List (For Author)

Check List (For Reviewer who merge this PR)

doris-robot commented 2 days ago

Thank you for your contribution to Apache Doris. Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?
CalvinKirs commented 2 days ago

run buildall

github-actions[bot] commented 2 days ago

PR approved by at least one committer and no changes requested.

github-actions[bot] commented 2 days ago

PR approved by anyone and no changes requested.