2016-10-03 215 views
0

我试过不同的方式来配置日志在春季启动,并采取了不同的博客的帮助,但似乎没有任何工作对我来说。我在src/main/reosurces文件夹中指定了log4j.properties并执行应用程序,它为我创建了日志。但是,当我使用外部log4j.properties,并提供以下性能,同时通过烧杯登录弹簧引导

-Dlogging.config=/path/to/log4j.properties 

执行我的应用程序是没有得到生成的日志文件。以下是我的build.gradle文件的片段。

configurations.all { 
    exclude group: 'com.sun.jdmk', module: 'jmxtools' 
    exclude group: 'com.sun.jmx', module: 'jmxri' 
    exclude group: 'ch.qos.logback', module: 'logback-classic' 
} 

我在这里错过了什么?

+1

Spring Boot默认使用logback。所以提供'log4j.properties'实际上不会有帮助。你可以简单地在'application.properties'中指定日志级别。有什么特别的你需要你自己的属性吗? –

+0

@ M.Deinum我想要外部日志配置。我也尝试了application.properties中的logging.file和logging.path。它不工作。我不明白我在这里错过了什么? – rishi

回答

1

看一看弹簧启动日志文件:http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html

如果你想在组合使用log4j的弹簧启动,你需要排除默认日志记录依赖关系,并添加log4j的为你的日志框架。

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-web</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter</artifactId> 
    <exclusions> 
     <exclusion> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-logging</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-log4j2</artifactId> 
</dependency> 
+0

OP使用gradle,因此您应该将其用作示例而不是maven。 – Magnus

+0

你说得对,但方法不相似? – flexguse