![](/img/trans.png)
[英]log4j:WARN No such property [append] in org.apache.log4j.ConsoleAppender
[英]Configure org.apache.log4j.ConsoleAppender with custom classloader
我有一个java类,它在启动时基于javassist类加载器创建一个自定义类加载器,然后运行真正的程序类。 我收到以下错误:
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".
问题与以下事实有关:一个对象由原始类加载器创建,而另一个对象由自定义类加载器创建。
有没有办法解决这个错误?
提前致谢,
阿夫纳
请尝试设置-Dlog4j.ignoreTCL = true,希望它有所帮助。 关于log4j的类似问题
在maven tomcat插件配置中添加log4j.ignoreTCL ,如下所示
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>${local.server.port}</port>
<update>true</update>
<systemProperties>
<log4j.configurationFile>${user.dir}\conf\log4j2.xml</log4j.configurationFile>
<log4j.ignoreTCL>true</log4j.ignoreTCL>
<java.util.logging.manager>org.apache.logging.log4j.jul.LogManager</java.util.logging.manager>
</systemProperties>
<contextReloadable>true</contextReloadable>
</configuration>
</plugin>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.