SpringBoot之LogBack配置详解
LogBack 默认集成在 Spring Boot 中,是基于 Slf4j 的⽇志框架。默认情况下 Spring Boot 是以 INFO 级别输出到控制台。
它的⽇志级别是:
ALL < TRACE < DEBUG < INFO < WARN < ERROR < OFF
配置
LogBack 可以直接在 application.properties 或 l 中配置,但仅⽀持⼀些简单的配置,复杂的⽂件输出还是需要配置在 xml 配置⽂件中。配置⽂件可命名为 l , LogBack ⾃动会在 classpath 的根⽬录下搜索配置⽂件,不过Spring Boot 建议命名为 l,这样会⾃动引⼊ Spring Boot ⼀些扩展功能。
如果需要引⼊⾃定义名称的配置⽂件,需要在 Spring Boot 的配置⽂件中指定,如:
logging:
config: l
同时 Spring Boot 提供了⼀个默认的 l 配置,可以按照如下⽅式引⼊:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/l"/>
</configuration>
详细配置
变量
可以使⽤ <property> 来定义变量:
<property name="log.path" value="/var/logs/application" />
同时可以引⼊ Spring 的环境变量:
<property resource="l" />
<property resource="application.properties" />
所有的变量都可以通过 ${} 来调⽤。
输出到控制台
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="console" class="ch.ConsoleAppender">
<encoder>
<pattern>%.-1level|%-40.40logger{0}|%msg%n</pattern>
</encoder>
</appender>
<logger name="app" level="debug" />
<logger name="org.springframework" level="info" />
<logger name="org.springframework.beans" level="debug" />
<root level="warn">
<appender-ref ref="console" />
</root>
</configuration>
输出到⽂件
<property name="LOG_FILE" value="LogFile" />
<appender name="FILE" class="ch.olling.RollingFileAppender">
<file>${LOG_FILE}.log</file>
springboot推荐算法
<rollingPolicy class="ch.olling.TimeBasedRollingPolicy">
<!-- 每⽇归档⽇志⽂件 -->
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.gz</fileNamePattern>
<!-- 保留 30 天的归档⽇志⽂件 -->
<maxHistory>30</maxHistory>
<!-- ⽇志⽂件上限 3G,超过后会删除旧的归档⽇志⽂件 -->
<totalSizeCap>3GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
多环境配置
LogBack 同样⽀持多环境配置,如 dev 、 test 、 prod
<springProfile name="dev">
<logger name="app" level="debug"/>
</springProfile>
启动的时候 java -jar xxx.jar --spring.profiles.active=dev 即可使配置⽣效。
如果要使⽤ Spring 扩展的 profile ⽀持,配置⽂件名必须命名为 l,此时当 application.properties 中指定为 spring.profiles.active=dev 时,上述配置才会⽣效。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。