2016-12-29 67 views
0

我已經創建了一個簡單的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控制檯中顯示。

我在做這個設置有什麼問題?

回答

0

根據documentation只需要slf4j依賴。你有沒有試過添加slf4j-簡單的依賴而不是log4j?

+0

看來sparkjava已經提供了slf4j-simple依賴關係,所以不需要額外的依賴關係。我剛剛從我的項目中刪除了log4j並正確配置了slf4j-simple。 – jovankricka

0

我只是想簡單地記錄到一個文件,我添加log4j依賴項目到我的項目。這是不必要的,因爲sparkjava已經提供了可用於此目的的slf4j-simple。

我從我的build.gradle中刪除了log4j依賴項,將simplelogger.properties添加到我的類路徑中,並將其配置爲將日誌寫入磁盤上的文件。

+0

可以分享你的simplelogger.properties文件嗎? –

相關問題