Я создал пользовательское приложение для резервного копирования. Но игра дает исключение ClassNotFound для приложения.
Ниже приведен мой appender
package log
import ch.qos.logback.core.AppenderBase
import ch.qos.logback.core.UnsynchronizedAppenderBase
import ch.qos.logback.core.spi.ContextAwareBase
import log.model.LogMessage
import data.OrganizationDao
import log.dao.LogDao
import ch.qos.logback.core.status.Status
class MongoAppender extends ContextAwareBase {
private def add(level:Int, msg: String, ex: Throwable) = {
val message = ex match {
case null => LogMessage(None, level, msg, null, null, new Array[String](0))
case _ => LogMessage(None, level, msg, ex.getClass().getName(), ex.getMessage(), new Array[String](0))
}
LogDao.save(message)
}
override def addStatus(status:Status) = {
add(status.getLevel(), status.getMessage(), status.getThrowable())
}
}
Ниже приведен мой файл logger.xml
<configuration>
<conversionRule conversionWord="coloredLevel"
converterClass="play.api.Logger$ColoredLevel" />
<appender name="Mongo" class="log.MongoAppender">
</appender>
<logger name="play" level="INFO" />
<logger name="application" level="INFO" />
<root level="ERROR">
<appender-ref ref="Mongo" />
</root>
</configuration>
Я получаю следующую stacktrace
Caused by: java.lang.ClassNotFoundException: log.MongoAppender
at at java.net.URLClassLoader$1.run(Unknown Source)
at at java.net.URLClassLoader$1.run(Unknown Source)
at at java.security.AccessController.doPrivileged(Native Method)
at at java.net.URLClassLoader.findClass(Unknown Source)
at at java.lang.ClassLoader.loadClass(Unknown Source)
at at java.lang.ClassLoader.loadClass(Unknown Source)
at at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameA
ndParameter(OptionHelper.java:60)
Я проверил, что класс appender компилируется, а также проверяет скомпилированный байт-код. Почему не играет за это?