SpringBoot之LogBack配置详解

2025-05-29 0 65

logback 默认集成在 spring boot 中,是基于 slf4j 的日志框架。默认情况下 spring boot 是以 info 级别输出到控制台。

它的日志级别是:

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 的配置文件中指定,如:

?

1

2
logging:

config: classpath:logback-spring.xml

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

?

1

2

3

4
<?xml version="1.0" encoding="utf-8"?>

<configuration>

<include resource="org/springframework/boot/logging/logback/base.xml"/>

</configuration>

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

详细配置

变量

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

?

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

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

?

1

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

<property resource="application.properties" />

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

输出到控制台

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16
<?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>

输出到文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
<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

?

1

2

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

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

原文链接:https://segmentfault.com/a/1190000018323081

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 SpringBoot之LogBack配置详解 https://www.kuaiidc.com/109773.html

相关文章

发表评论
暂无评论