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)

Reply via email to