我已經創建了一個簡單的Spark項目,並且我將log4j作爲一個依賴項並添加了log4j.properties文件來將我的日誌寫入文件系統上的一個文件。 出於某種原因,這不起作用,當我運行我的應用程序時,我只能看到控制檯中的日誌。 我爲日誌記錄定義的文件正在創建,甚至有一些通用的日誌行,但沒有從我的應用程序登錄的日誌行。SparkJava將log4j重定向到一個文件
這是我的build.gradle文件相關部分:
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'
}
這是我的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,使其工作,但沒有成功。 我只得到我創建的日誌文件以及來自應用程序啓動的一些行。 應用程序日誌不存在,它們僅在eclipse控制檯中顯示。
我在做這個設置有什麼問題?
看來sparkjava已經提供了slf4j-simple依賴關係,所以不需要額外的依賴關係。我剛剛從我的項目中刪除了log4j並正確配置了slf4j-simple。 – jovankricka