【Log日志】logback.xml动态配置属性值(包括接入的第三方配置)

本文介绍了如何在SpringBoot应用中动态配置Logback的日志存放路径,避免硬编码,通过Nacos等配置管理工具进行管理。关键在于使用`logback-spring.xml`而非`logback.xml`,确保Spring容器能够读取到属性值,同时讲解了接入Nacos的步骤。
摘要由CSDN通过智能技术生成

如何动态配置Logback的存放路径

我们在开发过程中,会使用到logback.xml 配置来管理日志文件;
比如

	<appender name="common" class="ch.qos.logback.core.rolling.RollingFileAppender">
		
Logback 是一个轻量级、快速、灵活的日志框架。在使用 Logback 时,我们通常需要对其进行配置,而配置文件的格式就是 logback.xml。下面是对 logback.xml 配置文件的详解: 1. 配置文件头部 ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration> ... </configuration> ``` 配置文件头部必须包含以上内容,其中 `<?xml version="1.0" encoding="UTF-8"?>` 表示 XML 版本和编码格式。 2. 定义日志输出格式 ```xml <configuration> <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/> ... </configuration> ``` 定义日志输出格式的方式是使用 `property` 元素,其中 `name` 属性表示定义的属性名,`value` 属性表示属性。在上面的例子中,我们定义了一个名为 `LOG_PATTERN` 的属性,并将输出格式赋给它。 3. 定义日志输出位置 ```xml <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> ... </configuration> ``` `appender` 元素用于定义日志输出位置,其中 `name` 属性表示 appender 的名称,`class` 属性表示 appender 的类型。在上面的例子中,我们定义了一个名为 `STDOUT` 的控制台 appender。 4. 定义日志级别 ```xml <configuration> <root level="INFO"> <appender-ref ref="STDOUT"/> </root> ... </configuration> ``` `root` 元素用于定义根 logger,其中 `level` 属性表示日志级别。在上面的例子中,我们将根 logger 的日志级别设置为 INFO。 5. 定义日志文件输出 ```xml <configuration> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/myapp.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/myapp-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE"/> </root> ... </configuration> ``` `RollingFileAppender` 元素用于定义日志文件输出,其中 `file` 属性表示日志文件的路径,`rollingPolicy` 子元素用于定义日志文件的滚动策略。在上面的例子中,我们定义了一个按时间滚动的策略,每天生成一个新的日志文件,保留最近 30 天的日志文件。 6. 常用配置 ```xml <configuration> <property name="LOG_PATH" value="/var/log/myapp"/> <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_PATH}/myapp.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOG_PATH}/myapp-%d{yyyy-MM-dd}.%i.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE"/> </root> </configuration> ``` 以上是一个常用的 Logback 配置文件示例,其中 `LOG_PATH` 定义了日志文件的路径,`LOG_PATTERN` 定义了日志输出格式,`STDOUT` 定义了控制台输出 appender,`FILE` 定义了日志文件输出 appender,`root` 定义了根 logger,输出到控制台和日志文件。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石臻臻的杂货铺

不用打赏,加微信,交个朋友就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值