Cheng Lian created PARQUET-369:
----------------------------------

             Summary: Shading SLF4J prevents SLF4J locating 
org.slf4j.impl.StaticLoggerBinder
                 Key: PARQUET-369
                 URL: https://issues.apache.org/jira/browse/PARQUET-369
             Project: Parquet
          Issue Type: Bug
          Components: parquet-format
            Reporter: Cheng Lian


Parquet-format shades SLF4J to {{parquet.org.slf4j}} (see 
[here|https://github.com/apache/parquet-format/blob/apache-parquet-format-2.3.0/pom.xml#L162]}.
 This also accidentally shades [this 
line|https://github.com/qos-ch/slf4j/blob/v_1.7.2/slf4j-api/src/main/java/org/slf4j/LoggerFactory.java#L207]
{code}
private static String STATIC_LOGGER_BINDER_PATH = 
"org/slf4j/impl/StaticLoggerBinder.class";
{code}
to
{code}
private static String STATIC_LOGGER_BINDER_PATH = 
"parquet/org/slf4j/impl/StaticLoggerBinder.class";
{code}
and thus {{LoggerFactory}} can never find the correct {{StaticLoggerBinder}} 
implementation even if we provide dependencies like {{slf4j-log4j12}} on the 
classpath.

This happens in Spark. Whenever we write a Parquet file, we see the following 
famous message and can never get rid of it:
{noformat}
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further 
details.
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to