我编写了自己的 logback 适配器类。当我直接在类路径中(在目录内)使用相应的类文件启动程序时,logback 找不到它。
ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [com....MyAppender]. ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type com....MyAppender
at ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type com....MyAppender
at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:73)
at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:48)
如果我把它放在一个 jar 文件中,一切都很好。
我看到 logback 使用它自己的类加载器,当我使用 sbt
和 play
启动我的应用程序时,我的问题出现了。所以问题可能出在这里。
关于如何解决此问题的任何想法?
使用:
"com.typesafe.play" %% "play" % "2.3.9"
"ch.qos.logback" % "logback-core" % "1.1.3",
sbt launcher version 0.13.8
最佳答案
我看到了类似的问题 Play fails to load custom log back appender但仍未解决。
建议的解决方案保持原样 - 它会在 prod 模式下工作,因为所有代码都将预编译在 jar 文件中。我希望你也能在 prod 模式下尝试过。
关于playframework - 自定义 logback 适配器类仅在 jar 文件中找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32598445/