【发布时间】:2020-06-23 23:39:13
【问题描述】:
我正在尝试将日志从 databricks 集群发送到 LogDNA,为此我确实有一个自定义附加程序,它与单元测试配合良好,因为我可以看到日志过来了。但是现在当我尝试按照this 的指导将它与Databricks 集成时,databricks 无法解析classPath。我正在加载到集群中的初始化脚本如下所示:
#!/usr/bin/env bash
echo "Executing on Driver: $DB_IS_DRIVER"
if [[ $DB_IS_DRIVER = "TRUE" ]]; then
LOG4J_PATH="/home/ubuntu/databricks/spark/dbconf/log4j/driver/log4j.properties"
else
LOG4J_PATH="/home/ubuntu/databricks/spark/dbconf/log4j/executor/log4j.properties"
fi
echo "log4j path : $LOG4J_PATH"
echo "log4j.rootLogger=INFO, LogDNAAppender, console" >> ${LOG4J_PATH}
echo "log4j.appender.LogDNAAppender=tools.logdna.util.LogDNAAppender" >> ${LOG4J_PATH}
echo "log4j.appender.LogDNAAppender.name=LogDNAAppender" >> ${LOG4J_PATH}
// and then properties associated with the appender
这个脚本(到初始化脚本)和依赖成功上传到集群,但是在运行时,它会出错:
log4j:ERROR Could not instantiate class [tools.logdna.util.LogDNAAppender].
java.lang.ClassNotFoundException: tools.logdna.util.LogDNAAppender
我有什么遗漏或需要完成这项工作吗?
【问题讨论】: