私は単純な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コンソールでのみ表示されます。
この設定で何が問題になっていますか?
sparkjavaは既にslf4j-simple依存関係を提供しているので、追加の依存関係は必要ありません。私は自分のプロジェクトからlog4jを削除し、slf4j-simpleを正しく設定しました。 – jovankricka