Kevin Geiszler created HBASE-30060:
--------------------------------------
Summary: Add documentation about addressing multiple SLF4J bindings
Key: HBASE-30060
URL: https://issues.apache.org/jira/browse/HBASE-30060
Project: HBase
Issue Type: Improvement
Components: documentation
Reporter: Kevin Geiszler
This scenario was disrupting my local logging setup, so I think it is worth
documenting. I have a local installation of Hadoop (via Homebrew on macOS).
When I tried to run HBase locally in DEBUG mode, it would not log DEBUG lines.
This was happening because Hadoop's Reload4j binder was being prioritized by
SLF4J over HBase's Log4j2 binder. This is a runtime issue, so adding
exclusions for the slf4j-reload4j package in hbase/pom.xml was not helpful in
this scenario.
Here is an example of what I would see when running bin/start-hbase.sh:
{code:java}
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/opt/homebrew/Cellar/hadoop/3.4.1/libexec/share/hadoop/common/lib/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/Users/kgeiszler/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.25.3/log4j-slf4j-impl-2.25.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Reload4jLoggerFactory]
running master, logging to
/Users/kgeiszler/projects/hbase/bin/../logs/hbase-kgeiszler-master-CH2GHMFP2M.out{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)