使用slf4j logger编辑Javafx应用程序

时间:2017-04-23 08:26:07

标签: javafx proguard slf4j logback-classic

我之前使用java.util.Logger构建了一个Javafx应用程序并使用proguard成功包装它。但是,我需要从java.util.Logger切换到slf4j提供的Logger并使用qos-logback。当我在它上面使用proguard时,我会遇到一系列警告,这些警告都是从slf4j或qos-logback库中生成的。一些(MANYYY)警告是:

  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类javax.servlet.http.HttpServletResponse
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类javax.servlet.http.HttpServletRequest
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类javax.servlet.http.HttpServletResponse
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类javax.servlet.http.HttpServletRequest
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类javax.servlet.http.HttpServletResponse
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类javax.servlet.http.HttpServletRequest
  • 警告:ch.qos.logback.core.status.ViewStatusMessagesServletBase: 找不到引用的类javax.servlet.http.HttpServletResponse
  • 警告:org.slf4j.MDC:找不到引用的方法 程序类中的'org.slf4j.impl.StaticMDCBinder getSingleton()' org.slf4j.impl.StaticMDCBinder
  • 警告:org.slf4j.MarkerFactory: 找不到引用的方法'org.slf4j.impl.StaticMarkerBinder 程序类org.slf4j.impl.StaticMarkerBinder中的getSingleton()'
  • 注意:ch.qos.logback.classic.gaffer.GafferUtil访问构造函数 '(ch.qos.logback.classic.LoggerContext)'动态

如果您注意到,某些警告甚至会重复。如果有人可以帮我解决这个问题,我将非常感激,即使它只是指向我正确的方向,因为我已经坚持了一段时间。非常感谢提前。

1 个答案:

答案 0 :(得分:0)

经过很多努力,我完成了一些事情。

我必须在配置中添加以下内容:

-keep,allowshrinking class ch.qos.logback.core.status.ViewStatusMessagesServletBase {
    <fields>;
    <methods>;
}

我还需要检查警告以找到源,并且必须单独添加servlet-api.jar作为库。