SpringBoot之LogBack配置详解

LogBack 默认集成在 Spring Boot 中,是基于 Slf4j 的日志框架。默认情况下 Spring Boot 是以 INFO 级别输出到控制台。

创新互联是一家专业提供七台河企业网站建设,专注与网站设计制作、做网站成都h5网站建设、小程序制作等业务。10年已为七台河众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

它的日志级别是:

ALL < TRACE < DEBUG < INFO < WARN < ERROR < OFF

配置

LogBack 可以直接在 application.properties 或 application.yml 中配置,但仅支持一些简单的配置,复杂的文件输出还是需要配置在 xml 配置文件中。配置文件可命名为 logback.xml , LogBack 自动会在 classpath 的根目录下搜索配置文件,不过 Spring Boot 建议命名为 logback-spring.xml,这样会自动引入 Spring Boot 一些扩展功能。

如果需要引入自定义名称的配置文件,需要在 Spring Boot 的配置文件中指定,如:

logging:
 config: classpath:logback-spring.xml

同时 Spring Boot 提供了一个默认的 base.xml 配置,可以按照如下方式引入:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <include resource="org/springframework/boot/logging/logback/base.xml"/>
</configuration>

base.xml 提供了一些基本的默认配置以及在控制台输出时的关键字配色,具体文件内容可以看这里,可以查看到一些常用的配置写法。

详细配置

变量

可以使用 <property> 来定义变量:

<property name="log.path" value="/var/logs/application" />

同时可以引入 Spring 的环境变量:

<property resource="application.yml" />
<property resource="application.properties" />

所有的变量都可以通过 ${} 来调用。

输出到控制台

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  <encoder>
   <pattern>%.-1level|%-40.40logger{0}|%msg%n</pattern>
  </encoder>
 </appender>
 
 <logger name="com.mycompany.myapp" 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.qos.logback.core.rolling.RollingFileAppender">
  <file>${LOG_FILE}.log</file>
  <rollingPolicy class="ch.qos.logback.core.rolling.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="com.mycompany.myapp" level="debug"/>
</springProfile>

启动的时候 java -jar xxx.jar --spring.profiles.active=dev 即可使配置生效。

如果要使用 Spring 扩展的 profile 支持,配置文件名必须命名为 LogBack_Spring.xml,此时当 application.properties 中指定为 spring.profiles.active=dev 时,上述配置才会生效。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。

文章名称:SpringBoot之LogBack配置详解
本文来源:https://www.cdcxhl.com/article4/gcdpoe.html

成都网站建设公司_创新互联,为您提供小程序开发网站建设电子商务微信小程序品牌网站制作用户体验

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营