SpringBoot项目在logback.xml中读取application.properties中配置的日志路径

文章目录

          • 一、问题
          • 二、原因
          • 三、LOGBACK.XML中读取配置中的日志路径方案
            • 3.1. 方案一
            • 3.2. 方案二

一、问题

在SpringBoot项目,使用logback.xml中配置日志的存储位置时,读取application.properties或application.yml中配置的路径,在logback.xml中引用如下:

<property name="LOG_HOME" value="${log.path}"/>

发现application.properties配置的路径可以读取的到,但是application.yml中的就不能读取到。

二、原因

因为最先加载的是application.properties,logback.xml的加载晚于application.properties,所以logback.xml可以读到application.properties里面配置的值。logback.xml的加载要先于application.yml,所以直接通过${参数key}的形式获取是无法获取到application.yml对应参数值的。

三、LOGBACK.XML中读取配置中的日志路径方案
3.1. 方案一

使用APPLICATION.PROPERTIES配置生成日志文件的路径。
在这里插入图片描述
logback.xml配置如下:
在这里插入图片描述
启动项目发现可以在指定的目录下生成日志:
在这里插入图片描述

3.2. 方案二

使用APPLICATION.YML配置生成日志文件的路径。
这种方案虽然受到配置文件加载顺序的影响,但是还是有解决办法的。我们可以使用Spring提供的标签来对此参数进行设置:

对于上面的配置,其中property替换成了springProperty标签。两个配置的属性name的效果是一样的,只不过springProperty的source指向application.yml中的key,此处是不需要加${}来获取值的。此时,不要着急,还有一步就是将logback.xml文件名改为logback-spring.xml

yml配置:
在这里插入图片描述
logback-spring.xml配置文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration><property resource="application.properties"/><!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径     使用spring-boot的配置项LOG_PATH--><springProperty scope="context" name="LOG_HOME" source="log.path"/>
<!--    <property name="LOG_HOME" value="${log.path}" />--><property name="LOG_LEVEL" value="INFO" /><!-- 控制台输出 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>   </encoder> </appender><!-- 按照每天生成日志文件 -->   <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/springbootjpa.log.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy>   <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>   </encoder> <!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender> <logger name="com.wm.springbootjpa01" level="INFO"/><logger name="org.apache.ibatis" level="${LOG_LEVEL}"/><logger name="org.mybatis.spring" level="${LOG_LEVEL}"/><logger name="org.springframework" level="${LOG_LEVEL}"/><logger name="java.sql.Connection" level="${LOG_LEVEL}"/><logger name="java.sql.Statement" level="${LOG_LEVEL}"/><logger name="java.sql.PreparedStatement" level="${LOG_LEVEL}"/><!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出--><logger name="jdbc.connection" level="OFF"/><logger name="jdbc.resultset" level="OFF"/><logger name="jdbc.resultsettable" level="OFF"/><logger name="jdbc.audit" level="OFF"/><logger name="jdbc.sqltiming" level="INFO"/><logger name="jdbc.sqlonly" level="OFF"/><!-- 日志输出级别 --><root level="${LOG_LEVEL}"><appender-ref ref="STDOUT" /><appender-ref ref="FILE" /></root> 
</configuration>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java知识全面总结:并发编程+JVM+设计模式+常用框架+....

本文整理的Java知识体系主要包括基础知识&#xff0c;工具&#xff0c;并发编程&#xff0c;数据结构与算法&#xff0c;数据库&#xff0c;JVM&#xff0c;架构设计&#xff0c;应用框架&#xff0c;中间件&#xff0c;微服务架构&#xff0c;分布式架构等内容。同时也有作为程…

智能消息服务-数字短信使用FAQ简介: 数字短信是基于普通短信,通过一套编码技术实现的短信服务。它能把视频、音频、网页、GIF图、文字等多种表现形式通过多媒体短信形式触达用户。本文将带你了解阿里云通信

简介&#xff1a; 数字短信是基于普通短信&#xff0c;通过一套编码技术实现的短信服务。它能把视频、音频、网页、GIF图、文字等多种表现形式通过多媒体短信形式触达用户。本文将带你了解阿里云通信数字短信产品的开通与使用。 一、数字短信功能如何开通&#xff1f; 1.开通…

xxl-job registry fail, registryParam:RegistryParam{regist

在项目集成xxl-job发现执行器一直注册不上去&#xff0c;心跳报错。 xxl-job registry fail, registryParam:RegistryParam{registryGroup‘EXECUTOR’, registryKey‘xxl-job-invoice-api’, registryValue‘http://xxxxxx:9990/’}, registryResult:ReturnT [code500, msgTh…

台达b3伺服参数设置方法_2020东莞清溪台达自动化配件回收厂家直购

2020东莞清溪台达自动化配件回收厂家直购在不同的工业控制系统中&#xff0c;工控软件虽然完成的功能不同&#xff0c;但就其结构来说&#xff0c;一般具有如下特点&#xff1a;实时性&#xff1a;工业控制系统中有些事件的发生具有随机性&#xff0c;要求工控软件能够及时地处…

3千字带你搞懂XXL-JOB任务调度平台

思维导图 文章已收录Github精选&#xff0c;欢迎Star&#xff1a;https://github.com/yehongzhi/learningSummary 一、概述 在平时的业务场景中&#xff0c;经常有一些场景需要使用定时任务&#xff0c;比如&#xff1a; 时间驱动的场景&#xff1a;某个时间点发送优惠券&…

“今朝安全众测平台”正式启动运行

2021年5月19日&#xff0c;由中国信息产业商会指导&#xff0c;中国信息安全测评中心组织运营的“今朝安全众测平台”正式启动运行&#xff0c;提供网络安全众测服务。 “今朝安全众测平台”启动运行发布会在北京国谊宾馆成功召开。发布会以“群贤毕至谋众测&#xff0c;志存高…

自然语言处理在开放搜索中的应用

自然语言智能&#xff08;NLP&#xff09; 自然语言智能研究实现人与计算机之间用语言进行有效通信。它是融合语言学、心理学、计算机科学、数学、统计学于一体的科学。它涉及到自然语言和形式化语言的分析、抽取、理解、转换和产生等多个课题。 人工智能可以分为几个阶段 •…

搞定客户端证书错误,看这篇就够了

简介&#xff1a; TLS/SSL 握手失败引起的连接异常问题怎么搞&#xff1f;阿里云 SRE 工程师手把手带你排查解决。 1.TLS/SSL 握手基本流程 *图片来源于网络 2.案例分享 2.1CFCA 证书的历史问题 2.1.1背景 某客户为其生产环境的站点申请了一张由 CFCA 签发的证书。相关域名…

程序员通过脚本免费领到 CSDN 会员卡

很多人喜欢下载插件去丰富浏览器现有功能各式各样的脚本虽有趣但若是能亲手设计开发一个脚本看着大家玩着自己的脚本是不是会觉得更加有成就感呢&#xff1f;想拥有一款属于自己的脚本吗&#xff1f;想获得丰厚的奖品吗&#xff1f;那么就千万不要错过这次活动【2021CSDN脚本征…

12123两小时没付款怎么办_机械厂上班的男朋友,一天十小时,周末不休,没时间陪我怎么办?...

01小江是去年认识的男朋友&#xff0c;当时觉得男朋友老实&#xff0c;在机械厂上班&#xff0c;能吃苦能挣到钱&#xff0c;以后能养家糊口&#xff0c;老老实实过一份踏实的日子。理想很丰满&#xff0c;现实很骨感。他们认识的时候正好是夏天&#xff0c;天气热。男朋友的工…

小红书推荐大数据在阿里云上的实践

简介&#xff1a; 本篇内容主要分三个部分&#xff0c;在第一部分讲一下实时计算在推荐业务中的使用场景。第二部分讲一下小红书是怎么使用Flink的一些新的功能。第三部分主要是讲一些OLAP的实时分析的场景&#xff0c;以及和阿里云MC-Hologres的合作。 作者&#xff1a;小红书…

AI 3D 传感器市场竞争白热化,中国掌握自主可控核心技术时不我待!

受访者 | 孔博记者 | 夕颜图源 | 视觉中国出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;提到AI 3D传感技术&#xff0c;也许很少有人脑中有概念。但是以下图iPhone手机最早推出的3D虚拟表情生成为例&#xff0c;大概就会知道这项技术可以用来做什么了。 2017年苹果…

数据中台交付专家告诉你,数据架构的分层怎样更加合理?

作者&#xff1a;柯根 从整体上看&#xff0c;数据中台体系架构可分为&#xff1a;数据采集层、数据计算层、数据服务层三大层次。通过这三大层次对上层数据应用提供数据支撑。 数据采集层 对于企业来说&#xff0c;每时每刻都在产生海量的数据&#xff0c;数据采集作为数据…

手机版腐蚀rust_手机进水后黑屏,该怎么办?切忌做这几件事

手机进水后黑屏&#xff0c;不可急于开机&#xff0c;应先取下SIM卡&#xff0c;然后拆机对手机内部的主板及各个接口进行清理。如果处理后仍然黑屏&#xff0c;通常可以通过修复受损电路及更换屏幕来解决这个问题。手机进水引起黑屏的原因手机内部进水&#xff0c;通常由听筒、…

XXL-Job集群部署和⾼可⽤最佳实战

文章目录一、调度中心集群部署1. HA/集群2. 调度中⼼集群3. 执⾏器集群4. 集群需要满足的条件5. 集群部署最佳实战二、任务执行器的集群配置2.1. 集群地址配置2.2. 执行器名称配置2.3. 执行器端口三、路由策略一、调度中心集群部署 1. HA/集群 为了避免单点故障&#xff0c;任…

看动画学算法之:linkedList

简介 linkedList应该是一种非常非常简单的数据结构了。节点一个一个的连接起来&#xff0c;就成了linkedList。今天我们使用动画的方法一起来看看linkedList是怎么插入和删除的。 linkedList的构建 linkedList是由一个一个的节点构成的。而每个节点只需要存储要保存的数据和…

CSDN鸿蒙社区福利:HarmonyOS Beta 版内测资格申请

HarmonyOS Beta 版测试申请入口已于5月17日全面关闭&#xff0c;屏幕前正在敲代码的你是不是错失了这次机会&#xff1f; 作为 HarmonyOS 的合作伙伴&#xff0c;“CSDN鸿蒙社区”为广大 CSDN 乡亲们申请到部分内测资格&#xff0c;只要拥有内测资格设备即可免费申请&#xff0…

linux环境~Kafka集群 监控 Kafka Eagle 图形化版本

文章目录一、安装、配置、验证1. 安装包下载2. 开启kafka JMX3. 安装JDK&#xff0c;配置JAVA_HOME4. 上传安装包、解压5. 配置Kafka-eagle环境变量6. 配置Kafka_eagle7. 配置ke.sh8. 启动Kafka_eagle9. 防火墙10. 访问Kafka eagle二、监控面本总览2.1. Dashboard2.2. MESSAGE2…

前端搞报表|数据分析提效全链路解决方案

简介&#xff1a; 前端早早聊直播干货 作者&#xff1a;闲鱼技术-云听 背景介绍 闲鱼 2014 年成立&#xff0c;到现在的话已经实现了从 0 ~ 千万级 DAU 的跃迁&#xff0c;随着业务的快速发展&#xff0c;业务决策方法紧跟升级。从最原始的经验驱动到更加科学合理的数据驱动…

kafka消息过期时间设置(全局和特定topic)

文章目录一、kafka 全局消息过期时间设置1. 配置文件夹2. 修改配置3. 重启配置生效二、针对特定topic设置过期时间2.1. 配置文件夹2.2. 执行设置命令三、kafka过期消息删除过程一、kafka 全局消息过期时间设置 1. 配置文件夹 进入kafka配置文件夹 /app/kafka_2.12-2.2.0/con…