1
我有一個自定義的LogBack appender。使用appender和自定義appender的類被編譯爲一個jar文件。該應用程序在DSE Spark集羣上運行。我已經在每個節點上做了logback.xml更改。當我運行應用程序,我看到錯誤自定義LogBack appender失敗,java.lang.ClassNotFoundException
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?
是你的classpath上的jar嗎?如果沒有添加到類路徑。如果使用eclipse IDE將其添加到IDE中的lib文件夾以方便使用。 –
我使用自定義appender和自定義appender的spark工作都在同一個項目中,因此它們被編譯爲一個jar文件。所以不知道這將如何幫助。 – vishakha
在第60行查看OptionHelper.instantiateByClassNameAndHelper。您在IDE中看到任何錯誤嗎?我只是試圖從你那裏獲得更多信息。 –