(八)Spring Boot中对Logback的拓展

简介: 目录一、Logback扩展点介绍1、为什么不能用logback.xml配置文件呢?2、扩展点缺点二、指定Profile配置三、环境属性

目录

一、Logback扩展点介绍



Spring Boot对Logback做了一些扩展,通过这些拓扩点我们可以用一些更高级的配置,这些拓展点我们可以在logback-spring.xml配置文件中使用。


1、为什么不能用logback.xml配置文件呢?

因为标准的logback.xml配置文件加载时间过早,所以不能用相关的扩展点。所以我们需要用logback-spring.xml配置文件或者定义logging.config属性指定配置文件位置。


2、扩展点缺点

扩展点不能结合Logback的配置文件自动扫描一起使用。如果配置文件有更改,会出现如下相关的错误日志。


ERROR in ch.qos.logback.core.joran.spi.Interpreter@4:71 - no applicable action for

[springProperty], current ElementPath is [[configuration][springProperty]]

ERROR in ch.qos.logback.core.joran.spi.Interpreter@4:71 - no applicable action for

[springProfile], current ElementPath is [[configuration][springProfile]]

二、指定Profile配置



<springProfile>标签可以包含profile名称或者profile表达式,profile表达式可以指定更复杂的逻辑,例如production & (eu-central | eu-west)。详情请参考:profile表达式。该标签的具体用例如下:

<springProfile name="staging">
 <!-- 当spring.profiles.active=staging时配置才生效 -->
</springProfile>
<springProfile name="dev | staging">
 <!-- 当spring.profiles.active=dev或者staging时配置才生效
-->
</springProfile>
<springProfile name="!production">
 <!-- 当spring.profiles.active!=production时才生效 -->
</springProfile>


三、环境属性



该标签和Logback中的<property>作用一致,在<springProperty>标签中定义属性值不是直接指定value属性,而是指定source属性(从环境变量中读取指定属性的属性值)。


如果环境变量中没有指定属性值,可以通过defaultValue属性指定默认值。示例如下:

<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host" defaultValue="localhost"/>
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
 <remoteHost>${fluentHost}</remoteHost>
 ...
</appender>
相关文章
|
7月前
|
XML Java 数据格式
【二十九】springboot整合logback实现日志管理
【二十九】springboot整合logback实现日志管理
250 1
|
7月前
|
Java Spring
【Spring Boot】logback和log4j日志异常处理
【1月更文挑战第25天】【Spring Boot】logback和log4j日志异常处理
|
1月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
85 5
|
1月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
44 1
|
4月前
|
存储 NoSQL Redis
基于SpringBoot+Redis实现点赞/排行榜功能,可同理实现收藏/关注功能,可拓展实现共同好友/共同关注/关注推送功能
在SpringBoot项目中使用Redis的Set和ZSet集合实现点赞和排行榜功能,并通过示例代码展示了如何使用`stringRedisTemplate`操作Redis来完成这些功能。
353 0
|
6月前
|
Java 数据安全/隐私保护
Springboot拓展之整合邮件 JavaMail的使用与实操
Springboot拓展之整合邮件 JavaMail的使用与实操
78 0
|
7月前
|
Java 文件存储 Spring
【springboot】logback配置
【springboot】logback配置
122 1
|
7月前
|
Java 程序员
SpringBoot集成log4j2出现Logback configuration error detected: current ElementPath is
SpringBoot集成log4j2出现Logback configuration error detected: current ElementPath is
115 0
|
7月前
|
Java
logback配置,命名为logback-spring.xml
logback配置,命名为logback-spring.xml
|
7月前
|
XML 存储 Java
百度搜索:蓝易云【springboot增加logback日志记录ip详解】
通过以上步骤,您可以在Spring Boot应用程序中使用Logback记录客户端的IP地址。请根据实际需求和日志记录规则进行适当调整和配置。
112 0