Ars*_*ene 5 java logback slf4j
我在基于 tomcat 的 Web 应用程序中使用 Logback 和 SLF4J。我没有使用任何 logback.xml 文件。一切都以编程方式完成。但是,我不时收到以下错误消息:
java.lang.ClassCastException: org.slf4j.helpers.SubstituteLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext.
Run Code Online (Sandbox Code Playgroud)
这是引发该异常的代码部分:
LoggerContext logCtx = (LoggerContext) LoggerFactory
.getILoggerFactory();
Run Code Online (Sandbox Code Playgroud)
我想知道我是否做错了什么。请协助。
据我所知,这是由 SLF4J 在支持日志记录实现尚未初始化时使用中间工厂引起的。如果您首先向LoggerFactory请求记录器,例如根记录器,这将初始化 Logback,之后您的代码应该获得合适的LoggerContext。我遇到这种情况是因为我的记录器是在第一次访问时延迟创建的,并且第一个日志语句仅在我尝试检索 LoggerContext 之后才出现。private static final Logger = LoggerFactory.getLogger("...")在类中使用通常的行来检索LoggerContext也将具有相同的效果,尽管这种联系并不明显。
| 归档时间: |
|
| 查看次数: |
1852 次 |
| 最近记录: |