2017-04-12 118 views
1

在我的logback-spring.xml中,如果我將logger級別包含爲INFO,它工作正常,但對於INFO(WARN,ERROR)以外的其他應用程序,則無法加載。在控制檯應用程序中啓動永遠停止。 This is the link we tried for this。任何幫助都很明顯。SpringBoot logback-spring.xml springprofile不起作用

輸出在控制檯日誌:

. ____   _   __ _ _ 
/\\/___'_ __ _ _(_)_ __ __ _ \ \ \ \ 
(()\___ | '_ | '_| | '_ \/ _` | \ \ \ \ 
\\/ ___)| |_)| | | | | || (_| | )))) 
    ' |____| .__|_| |_|_| |_\__, |//// 
=========|_|==============|___/=/_/_/_/ 
:: Spring Boot ::  (v1.5.2.RELEASE) 

的logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <include resource="org/springframework/boot/logging/logback/base.xml" /> 
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}-%msg %n 
      </Pattern> 
     </encoder> 
     <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
      <level>TRACE</level> 
     </filter> 
    </appender> 

    <appender name="minuteRollingFileAppender" 
     class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <FileNamePattern>/usr/src/app/logs/test%d{yyyy-MM-dd_HH-mm}.log 
      </FileNamePattern> 
      <maxHistory>30</maxHistory> 
     </rollingPolicy> 

     <encoder> 
      <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35}-%msg %n</Pattern> 
     </encoder> 
    </appender>  


    <springProfile name="dev,staging"> 
     <root> 
      <level value="INFO" /><!--ERROR not working --> 
      <appender-ref ref="minuteRollingFileAppender" /> 
      <appender-ref ref="consoleAppender" /> 
     </root> 
    </springProfile> 
</configuration> 
+0

此[鏈接](http://stackoverflow.com/questions/29429073/spring-boot-logback-和日誌記錄配置屬性)可能會幫助您 –

+0

感謝您的答覆,我會檢查。 – sunleo

+0

是你的應用程序真的不加載?我認爲它是一個正常的行爲,你只看到橫幅,並沒有其他日誌,如果水平不是信息 – Patrick

回答

2

春季啓動的旗幟可以明確包括或從控制檯排除。某些IDE中有設置可以做到這一點。

如果您沒有任何日誌級別不同於INFO的日誌,則只會看到應用程序啓動的橫幅。它看起來應用程序不啓動,但那是因爲沒有寫入日誌。

剔除橫幅在application.properties

spring.main.banner-mode=off 

main

SpringApplication app = new SpringApplication(SpringBootConsoleApplication.class); 
app.setBannerMode(Banner.Mode.OFF); 
app.run(args);