use*_*078 4 logback log4j2 apache-spark
我对使用Apache Spark设置日志记录非常困惑.Apache spark使用Log4j进行日志记录,它会生成大量的日志数据.有没有办法为spark日志设置log4j并使用logback进行应用程序日志.我非常熟悉logback,但似乎 spark只支持log4j.下面的代码工作正常,直到我介绍了apache spark.在这方面的任何帮助都会有所帮助.
import com.typesafe.scalalogging.LazyLogging
import scala.util.{Failure, Success}
import scala.xml.{Elem, XML}
object MainApp extends App with LazyLogging {
val currency = new YahooCurrencyLoader() with CurrencyParameters
val ccy = currency.getXML(currency.ccyUrl) match {
case Success(v) => XML.save("PreviousRun.xml",v); logger.info("XML has been saved for use")
case Failure(ex) => logger.error("XML extraction failed. Look at Yahoo extraction class. ${ex.getMessage}" )
}
val xmllocation: String = "./PreviousRun.xml"
val loadxml: Elem = XML.loadFile(xmllocation)
//print(loadxml)
//print(currency.findCurrency(loadxml,"GBP"))
logger.info("USD CAD Cross is " + currency.findCurrency(loadxml,"CAD").head)
Run Code Online (Sandbox Code Playgroud)
Ata*_*ais 16
我不知道你是否使用sbt或者maven它应该从哪里开始.我自己使用sbt所以我会举例说明我们是如何解决这个问题的.
这是真的,如果您不想使用相同的日志记录实现,那确实存在问题.但是有帮助!
首先,从spark依赖项中排除以下库:
log4j slf4j-log4j12对于sbt(使用sbt-assembly),它看起来像这样:
lazy val spark16 = Seq("spark-core", "spark-sql", "spark-hive")
.map("org.apache.spark" %% _ % "1.6.1")
.map(_.excludeAll(
ExclusionRule(name = "log4j"),
ExclusionRule(name = "slf4j-log4j12")
))
Run Code Online (Sandbox Code Playgroud)
可在此处找到详细说明:https://www.slf4j.org/legacy.html
我们感兴趣的模块是:log4j-over-slf4j
该
log4j-over-slf4j模块包含最广泛使用的log4j类的替换,即org.apache.log4j.Category,org.apache.log4j.Logger,org.apache.log4j.Priority,org.apache.log4j.Level,org.apache.log4j. MDC和org.apache.log4j.BasicConfigurator.这些替换类将所有工作重定向到相应的SLF4J类.
因此,我们可以将所有日志重定向回到slf4j其他日志记录实现可以从中获取的日志.
简单,只需将此依赖项添加到您的应用程序
"org.slf4j" % "log4j-over-slf4j" % "1.7.25"
Run Code Online (Sandbox Code Playgroud)
在我们的例子中它(像你的一样)logback,所以我们将其添加为依赖:
"ch.qos.logback" % "logback-classic" % "1.2.3"
Run Code Online (Sandbox Code Playgroud)
logback.xml在类路径中添加一些配置,例如in src/main/resources和enjoy!
如果您Logback在部署应用程序时需要帮助,spark-submit请按照以下答案操作:https://stackoverflow.com/a/45480145/1549135
| 归档时间: |
|
| 查看次数: |
5796 次 |
| 最近记录: |