SpringBoot中,logback.xml里面读取yml里面的参数方式
·
前应提要:使用logback做日志,xml中会希望动态读取yml中的配置参数。比如:(1)日志的输出位置可能要根据部署的环境动态进行配置(2)读取yml中的日志级别。而logbackxm.xml中使用${xxx.xxx.xxx}读取不到系统参数
解决方法
步骤一:使用logback-spring.xml
将原先的logback.xml改成logback-spring.xml。原因是springboot先读取logback.xml,然后加载yml/properties,再加载logback-spring.xml。官网上的解释如下。
步骤二:xml中增加springProperty
yml中增加自定义参数,这个参数是自定义的,写啥都行。
my:
log:
path: E:/jd-gateway/logdir
然后xml中配置如下参数。此处注意source要和上面的yml中配置的一致
<!-- 获取yml中的log地址 -->
<springProperty scope="context" name="logPath" source="my.log.path" defaultValue="logdir"/>
这样,在xml中就可以使用yml中的参数了,比如
<!-- 日志文件存储位置 -->
<property name="log.dir" value="${logPath}" />
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)