Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Parquet-format shades SLF4J to parquet.org.slf4j (see here). This also accidentally shades this line
private static String STATIC_LOGGER_BINDER_PATH = "org/slf4j/impl/StaticLoggerBinder.class";
to
private static String STATIC_LOGGER_BINDER_PATH = "parquet/org/slf4j/impl/StaticLoggerBinder.class";
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:
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.
Attachments
Issue Links
- relates to
-
PARQUET-401 Deprecate Log and move to SLF4J Logger
- Open
-
PARQUET-408 Shutdown hook in parquet-avro library corrupts data and disables logging
- Resolved
-
PARQUET-412 Format: Do not shade slf4j-api
- Resolved
- links to