java - 带有自定义类加载器的 Log4j2

标签 java log4j2

我正在使用自定义类加载器从目录加载所需的依赖项。 “log4j-api-2.0-rc1.jar”和“log4j-core-2.0-rc1.jar”是从我的自定义 URLClassLoader 中得知的。但当我尝试使用 Log4j2 时,出现以下错误:

ERROR StatusLogger Unable to locate a logging implementation, using SimpleLogger

看起来Log4j2 LogManager使用它自己的ClassLoader来搜索实现类。我该如何解决这个问题?

感谢您的帮助!

最佳答案

默认情况下,log4j 将尝试使用 Thread.currentThread().getContextClassLoader() 加载类。

如果设置系统属性-Dlog4j.ignoreTCL=true,log4j将使用Class.forName(className)加载类。

如果这些都不能解决您的问题,我建议您在 log4j2 Jira 问题跟踪器上提出此问题,以便与团队一起制定解决方案。

关于java - 带有自定义类加载器的 Log4j2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23682226/

相关文章:

spring - 版本健全性检查 (Spring/SLF4J)

java - 如何在使用 Eclipse 创建的可运行 jar 中指定外部 log4j2 配置文件

java - log4j隐藏jar文件的名称

Java 不同类之间的冲突检测

java - egit->eclipse正确导入general_project->Java_project

java - Servlet 3.0 async 支持的缺点

java - 使用具有特殊情况顺序的 SQLite 查询方法

java - INSERT 查询在 SQL 中有效,但在 Android 应用程序中无效

eclipse - 将log4j2.properties配置到spring boot的问题(使用gradle)

java - Log4j2 通配符记录器名称