logback.xml文件使用application.yml中的值

原先在logback.xml中的log的value值是写好的,现在项目要求日志文件保存路径可以在外面的application中进行修改,解决方法如下:

将 logback.xml文件中的

<!-- 日志存放路径 -->
<property name="log.path" value="D:/logfile" />

修改为

<!-- 日志存放路径 -->
<springProperty scope="context" name="logPath" source="logging.path"/>
<property name="log.path" value="${logPath}" />

其中,application.yml对应部分为:

<!-- 日志配置 -->
logging:
  level:
    com.hisense: debug
    org.springframework: warn
  path: D:/logfile
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以在 `logback.xml` 文件使用 `springProperty` 标签来引用外部的 `application.yml` 的属性,从而达到在外部指定路径的目的。 以下是一个示例 `logback.xml` 文件: ```xml <configuration> <springProperty scope="context" name="log.path" source="logging.path"/> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>${log.path}/myapp.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="FILE"/> </root> </configuration> ``` 在上面的示例,我们使用 `springProperty` 标签定义了一个名为 `log.path` 的属性,并将其从 `application.yml` 文件的 `logging.path` 属性读取。这样,你就可以在 `application.yml` 文件指定 `logging.path` 的,从而控制日志文件的路径。 例如,在 `application.yml` 文件,你可以这样定义 `logging.path`: ```yml logging: path: /var/log/myapp ``` 这将会使 `logback.xml` 文件的 `${log.path}` 为 `/var/log/myapp`,从而将日志文件写入到该目录下。 需要注意的是,使用 `springProperty` 标签需要确保 Spring 环境已经启动,所以你需要在 `logback.xml` 文件指定 `spring.profiles.active` 属性,来保证 Spring 环境的正确启动。例如: ```xml <configuration> <springProfile name="dev"> <!-- dev profile configuration --> </springProfile> <springProfile name="prod"> <!-- prod profile configuration --> </springProfile> </configuration> ``` 其,`dev` 和 `prod` 分别对应了 `application-dev.yml` 和 `application-prod.yml` 文件。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值