Konfigurieren org.apache.log4j.ConsoleAppender mit benutzerdefinierten classloader
Ich habe eine java-Klasse, die erstellt einen custom classloader basierend auf javassist class-loader auf start und dann auf ausführen das wirkliche Programm-Klasse.
Ich bin immer der folgende Fehler:
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a
"org.apache.log4j.Appender" variable.
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
log4j:ERROR [javassist.Loader@6f97b10a] whereas object of type
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by
[java.net.URLClassLoader@5b414a8d].
log4j:ERROR Could not instantiate appender named "stdout".
Sich das problem auf die Tatsache, dass ein Objekt erstellt wird, von der original-classloader, während der andere entsteht durch die custom ein.
Gibt es eine Möglichkeit diesen Fehler zu beheben?
Vielen Dank im Voraus,
Avner
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bitte versuchen Sie, die set-Dlog4j.ignoreTCL=true, hoffe es hilft. einem ähnlichem Problem über log4j
Hinzufügen log4j.ignoreTCL in maven tomcat plugin-Konfiguration, wie gezeigt, unten