Page 1 of 1

LOG4J ConsoleAppender ist Athena JDBC -Treiber nicht zugeordnet

Posted: 08 Apr 2025, 14:30
by Anonymous
Ich habe Probleme, die Athena JDBC -Treiber richtig einzuhalten. Ich würde SL4J Simplelogger bevorzugen, aber es scheint, dass diese Fabrik nicht unterstützt wird, aber UST LOG4J (nur schreibt Sie dies, falls Sie sich fragen, warum es 2 Protokollierungsrahmen gibt). Leider möchten wir nicht alle aktuellen App -Protokollierung aufgrund eines neuen JDBC -Treibers ändern.log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "com.simba.athena.shaded.apache.log4j.Appender" variable.
log4j:ERROR The class "com.simba.athena.shaded.apache.log4j.Appender" was loaded by
log4j:ERROR [jdk.internal.loader.ClassLoaders$AppClassLoader@368239c8] whereas object of type
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [jdk.internal.loader.ClassLoaders$AppClassLoader@368239c8].
log4j:ERROR Could not instantiate appender named "stdout".
< /code>

MAVEN -Abhängigkeiten: < /p>


org.slf4j
slf4j-simple
1.7.21


org.slf4j
slf4j-api
1.7.5


log4j
log4j
1.2.17


com.syncron.amazonaws
simba-athena-jdbc-driver
2.0.2

< /code>

log4j.properties

### Appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

### Log Levels
log4j.rootLogger=info, stdout
< /code>

Es ist seltsam, da beide Klassen mit demselben Klassenloader geladen werden, sodass ein Problem der Klassenloader -Hierarchie nicht das Problem sein sollte. Ich habe auch verifiziert, dass der Treiber log4j 1.2 bindet, da er in einigen Fehlern auf diese Javadocs hinweist. Danke!