Log4j不会将所有日志保存到文件

时间:2017-03-09 19:24:44

标签: java logging gradle spring-boot log4j

我有问题。我想将所有日志保存到文件。当我运行我的spring-boot应用程序时,我在控制台中有这个:

...
2017-03-09 20:12:26.985  INFO 379180 --- [  restartedMain] o.e.jetty.ContextHandler.application     : Initializing Spring FrameworkServlet 'dispatcherServlet'
2017-03-09 20:12:26.988  INFO 379180 --- [  restartedMain] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2017-03-09 20:12:27.023  INFO 379180 --- [  restartedMain] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 33 ms
...

等。而且我想将所有这些也存档。保存到文件工作正常。我使用logger.info()来测试它,我在里面有logfile.log

2017-03-09 20:18:11,587  INFO [restartedMain] - com.xyz.Application.main 17 - test1

仅此而已。这是我的班级:

public class Application {
    private static final Logger log = Logger.getLogger(Application.class);
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        log.info("test1");
    }
}

这是我的log4j.properties

# TRACE < DEBUG < INFO < WARN < ERROR < FATAL
log4j.rootLogger=ALL, toFile

#DailyRollingFile
log4j.appender.toFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.toFile.Append=true
log4j.appender.toFile.File=./log/logfile.log
log4j.appender.toFile.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.toFile.layout=org.apache.log4j.PatternLayout
log4j.appender.toFile.layout.ConversionPattern=%d %5p [%t] - %c.%M %L - %m%n

我做错了什么?有人可能有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。我要加上build.gradle这个:

configurations.all {
    exclude group: "commons-logging", module: "commons-logging"
    exclude module: "spring-boot-starter-logging"
    exclude module: "logback-classic"
}

现在我已将所有日志存档。