【发布时间】:2016-10-24 12:08:50
【问题描述】:
我正在尝试构建一个使用 log4j 来制作日志文件的应用程序。日志文件的位置通过 log4j.properties 文件提供。
到目前为止,它运行良好,但我想将 spark 日志与我从代码生成的日志分开。或者至少只是在日志文件中打印我的日志消息。
有什么办法吗?
log4j.properties
# Root logger option
log4j.rootLogger=INFO, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Redirect log messages to a log file
log4j.appender.file=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.file.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.file.rollingPolicy.fileNamePattern=../log/abc%d{yyyyMMdd_HHmmss}.log
log4j.appender.file.TriggeringPolicy=org.apache.log4j.rolling.SizeBasedTriggeringPolicy
log4j.appender.file.TriggeringPolicy.maxFileSize=5000000
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
【问题讨论】:
-
要隐藏 spark 日志记录,您可以在 log4j 配置中将 org.apache.spark 的记录器设置为高级别。例如错误。或者您可以定义一个不同的日志附加器,它输出到不同的位置并将其分配给 org.apache.spark
-
@ASpotySpot 我在问题中添加了 log4j 的配置文件。您能否建议我如何为 spark 日志定义不同的日志文件?
-
您是否在纱线集群上使用提交火花作业。如果是,请提供您在火花提交时使用的命令。
标签: scala apache-spark log4j