簡體   English   中英

Logback和SLF4J程序化配置

[英]Logback and SLF4J programmatic configuration

我在基於tomcat的Web應用程序中使用Logback和SLF4J。 我沒有使用任何logback.xml文件。 一切都是以編程方式完成的。 但是我不時收到以下錯誤消息:

java.lang.ClassCastException: org.slf4j.helpers.SubstituteLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext.

以及拋出該異常的代碼部分:

LoggerContext logCtx = (LoggerContext) LoggerFactory
                .getILoggerFactory();

我想知道我是否做錯了。 請協助。

據我所知,這是由於SLF4J在尚未初始化后備日志記錄實現時使用中間工廠引起的。 如果您首先向LoggerFactory請求記錄器,例如根記錄器,這將初始化Logback,之后您的代碼應該獲得合適的LoggerContext 我遇到這個是因為我的記錄器在第一次訪問時被懶惰地創建,並且只有在我嘗試檢索LoggerContext之后才出現第一個日志語句。 在檢索LoggerContext的類中使用通常的private static final Logger = LoggerFactory.getLogger("...")行也會產生相同的效果,盡管連接並不明顯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM