【问题标题】:Custom LogBack appender fails with java.lang.ClassNotFoundException自定义 LogBack 附加程序失败并出现 java.lang.ClassNotFoundException
【发布时间】:2016-01-14 17:52:59
【问题描述】:

我有一个自定义的 LogBack 附加程序。使用 appender 的类和自定义 appender 被编译成一个 jar 文件。该应用程序在 DSE spark 集群上运行。我已经在每个节点上进行了 logback.xml 更改。当我运行应用程序时,我看到错误

17:39:35,039 |-ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [com.test.logger.CassandraAppender]. ch.qos.logback.core.util.DynamicClassLoadingException: Failed to instantiate type com.test.logger.CassandraAppender

Caused by: java.lang.ClassNotFoundException: com.test.logger.CassandraAppender
        at      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at      at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionH
elper.java:60)

jar 文件被复制到 /home/[myuser] 目录并从那里执行。什么不见​​了? Logback 在哪里寻找自定义 appender?

【问题讨论】:

  • 你的类路径中有 jar 吗?如果不将其添加到类路径。如果使用 Eclipse IDE,请将其添加到 IDE 中的 lib 文件夹中以方便使用。
  • 我使用自定义附加程序的 spark 作业和自定义附加程序都在同一个项目中,因此它们被编译成一个 jar 文件。所以不确定这会有什么帮助。
  • 查看第 60 行的 OptionHelper.instantiateByClassNameAndHelper。您是否在 IDE 中看到任何错误?我只是想从你那里得到更多信息。
  • 引起:java.lang.ClassNotFoundException:com.test.logger.CassandraAppender at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass( ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在 ch.qos.logback.core。 util.OptionHelper.instantiateByClassNameAndParameter(OptionH elper.java:60)
  • 如果您需要更多详细信息,请告诉我。

标签: java logback appender


【解决方案1】:

Logback 加载 Appenders 的方式似乎不适用于 Spark(我在使用 logstash-logback-encoder 时遇到了这个问题)。我成功地将包含 Appender 类的 Jar 放入 ${SPARK_HOME}/jars 目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 2017-10-09
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    相关资源
    最近更新 更多