2016-05-17 16 views
6

私は、そのビルドにSBTを利用するSpalaアプリケーションを開発中です。 Sparkは、テストの実行中に無視したい非常に詳細なログを作成します。log4j.properties sbtテスト実行時に無視される

は、私は、次の内容ではsrc /テスト/リソースの下に設定log4j.propertiesファイルだけでなく、SRC /メイン/リソースを持っている:

# Set everything to be logged to the console 
log4j.rootCategory=INFO, console 
log4j.appender.console=org.apache.log4j.ConsoleAppender 
log4j.appender.console.layout=org.apache.log4j.PatternLayout 
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{10}: %m%n 

# Settings to quiet third party logs that are too verbose 
log4j.logger.akka=ERROR 
log4j.logger.Remoting=ERROR 
log4j.logger.org.apache.spark=ERROR 
log4j.logger.org.eclipse.jetty=ERROR 

sbt testでアプリケーションを実行しているか、フルを実行していますアプリケーションは正しく動作しますが、Sparkに関連するすべてのINFOレベルステートメントをログに記録します

ファイル構成には何かがありませんか、またはlog4j.propertiesを読み込むためにsbtに明示的に伝える必要はありますか?私は一緒に新しいアプローチを試みるべきですか?

私はまた、アプリケーションがCI環境およびログ設定が適用された他のユーザーのコンピュータで実行できる必要があるという点で制限されています。つまり、アプリケーションのgitリポジトリから設定をインクルードして認識させる必要があります。

+0

あなたは最終的に問題を解決しましたか? (同じ状況になっているので) – daveoncode

答えて

0

log4j.propertiesを$SPARK_HOME/confディレクトリにコピーしてください。それは火花のインストールで使用されるものです

+0

設定を保存してアプリケーションディレクトリ自体にローカルで使用する必要があります。そのため、他のユーザーとCI環境で共有することができます。 Sparkの特定のグローバルロギング設定を強制することはオプションではありません – lobobabysaurus

+0

私が言及したのは標準的なアプローチです。つまり、正しいものです。だからあなたは明らかにOP *に言及されていない*追加の要件(*)を持っています。私は後であなたの詳細にどのように対処するかを見てみるかもしれません。 – javadba

関連する問題