playframework - 自定义 logback 适配器类仅在 jar 文件中找到

标签 playframework sbt logback

我编写了自己的 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 使用它自己的类加载器,当我使用 sbtplay 启动我的应用程序时,我的问题出现了。所以问题可能出在这里。

关于如何解决此问题的任何想法?

使用:

"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/

相关文章:

scala - Play Idea 失败 - 此版本的 sbt 0.11.3 没有 sbt-idea 插件

scala - 如何使 `sbt test` 在主项目和所有子项目(或某些选定的集合)中运行测试

java - IntelliJ Idea 无法解析 Scala 管理源中的符号 (sbt-buildinfo)

playframework - 如何为 play 项目配置多个数据源/ebean

scala - 如何在play框架中的scala模板中声明和访问局部变量?

scala - 为什么我在intellij idea中创建scala项目时下载sbt依赖需要这么长时间?

java - Logback 找不到 logback.xml,即使它存在(在类路径上)

jndi - Logback 找不到外部属性文件资源

java - 使用 Logback 时出错

image - Play Framework : Image Display question