SparkJava使用log4j将日志记录重定向到文件

时间:2016-12-29 12:27:41

标签: logging log4j slf4j spark-java

我创建了一个简单的Spark项目,我将log4j作为依赖项添加,并添加了log4j.properties文件,将我的日志写入文件系统上的文件。 由于某种原因,这不起作用,当我运行我的应用程序时,我只能在控制台中看到日志。 我正在创建为日志记录定义的文件,其中甚至还有一些通用日志行,但是没有我从应用程序中记录的日志行。

这是我的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控制台中显示。

这个设置我做错了什么?

2 个答案:

答案 0 :(得分:0)

根据documentation,只需要依赖slf4j。您是否尝试过添加slf4j-simple依赖而不是log4j?

答案 1 :(得分:0)

我只是想简单地记录到文件中,并且我将log4j依赖项添加到了我的项目中。这是不必要的,因为sparkjava已经提供了可用于此目的的slf4j-simple。

我从build.gradle中删除了log4j依赖项,将simplelogger.properties添加到我的类路径中,并将其配置为将日志写入磁盘上的文件。

相关问题