[英]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.