在我的 logback-spring.xml 中,如果我将记录器级别包含为 INFO,它工作正常,但对于除 INFO(警告,错误)之外的其他应用程序,甚至应用程序都不会加载。在控制台应用程序登录到下面之后,启动将永远停止。 This is the link we tried for this .任何帮助都是值得赞赏的。
在控制台中输出日志:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: 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>
最佳答案
Spring-boot 横幅可以显式包含在控制台中或从控制台中排除。某些 IDE 中有一些设置可以做到这一点。
如果您没有任何日志级别不同于 INFO
的日志,您将只能看到应用程序启动的横幅。看起来应用程序没有启动,但这只是因为没有写入日志。
排除 application.properties
中的横幅:
spring.main.banner-mode=off
或在main
中:
SpringApplication app = new SpringApplication(SpringBootConsoleApplication.class);
app.setBannerMode(Banner.Mode.OFF);
app.run(args);
关于java - SpringBoot logback-spring.xml springprofile 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43359030/