Spring Boot 之 LogBack 配置

栏目: Java · 发布时间: 5年前

内容简介:本文为[原创]文章,转载请标明出处。原文链接:原文出自

本文为[原创]文章,转载请标明出处。

原文链接: https://weyunx.com/2019/02/01...

原文出自 微云的技术博客

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

它的日志级别是:

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

配置

LogBack 可以直接在 application.propertiesapplication.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 同样支持多环境配置,如 devtestprod

<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 时,上述配置才会生效。

参考


以上所述就是小编给大家介绍的《Spring Boot 之 LogBack 配置》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

High Performance Python

High Performance Python

Micha Gorelick、Ian Ozsvald / O'Reilly Media / 2014-9-10 / USD 39.99

If you're an experienced Python programmer, High Performance Python will guide you through the various routes of code optimization. You'll learn how to use smarter algorithms and leverage peripheral t......一起来看看 《High Performance Python》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具