2016-12-29 1 views
0

私は単純なSparkプロジェクトを作成しました。私はlog4jを依存関係として追加し、ログをファイルシステムのファイルに書き込むlog4j.propertiesファイルを追加しました。 これは何らかの理由で動作しません。アプリケーションを実行すると、コンソールのログしか見ることができません。 ログ用に定義したファイルが作成されていて、いくつかの一般的なログ行がありますが、アプリケーションからログを取っているログ行はありません。SparkJavaがlog4jでログをファイルにリダイレクト

これは私のbuild.gradleファイル内の依存関係のセクションです:私はそれを動作させるためにlog4j.propertiesを変更しようとしたが、なしている

# Root logger option 
log4j.rootLogger=INFO, stdout, file 

# Redirect log messages to console 
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, support file rolling. 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=C:\\log4j-application.log 
log4j.appender.file.MaxFileSize=5MB 
log4j.appender.file.MaxBackupIndex=10 
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 

:これは私のlog4j.propertiesファイルである

dependencies { 
    compile 'com.sparkjava:spark-core:2.3' 
    compile group: 'org.springframework', name: 'spring-core', version: '4.3.5.RELEASE' 
    compile group: 'org.springframework', name: 'spring-beans', version: '4.3.5.RELEASE' 
    compile group: 'org.springframework', name: 'spring-context', version: '4.3.5.RELEASE' 
    compile group: 'org.springframework', name: 'spring-expression', version: '4.3.5.RELEASE' 
    compile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.4.1' 
    compile group: 'com.google.code.gson', name: 'gson', version: '1.7.2' 
    compile group: 'com.google.guava', name: 'guava', version: '11.0.2' 
    compile group: 'log4j', name: 'log4j', version: '1.2.17' 
} 

成功。 私はログファイルを作成し、その中にアプリケーションの起動から来たいくつかの行だけを取得します。 アプリケーションログはそこにはなく、Eclipseコンソールでのみ表示されます。

この設定で何が問題になっていますか?

答えて

0

documentationによれば、slf4j依存性のみが必要です。あなたはlog4jの代わりにslf4j-simple dependencyを追加しようとしましたか?

+0

sparkjavaは既にslf4j-simple依存関係を提供しているので、追加の依存関係は必要ありません。私は自分のプロジェクトからlog4jを削除し、slf4j-simpleを正しく設定しました。 – jovankricka

0

私はちょうどファイルへの簡単なロギングを望んでおり、プロジェクトにlog4j依存関係を追加しました。これは、sparkjavaがすでにこの目的で使用できるslf4j-simpleを提供しているので不要です。

私はbuild.gradleからlog4j依存関係を削除し、simplelogger.propertiesをクラスパスに追加し、ログをディスク上のファイルに書き込むように設定しました。

+0

あなたのsimplelogger.propertiesファイルを共有できますか? –

関連する問題