[英]How to load a SpEL expression into logback-spring.xml
我的 application.properties 文件中有一个 SpEL 表达式,我试图将其加载到我的 logback-spring.xml 文件中。 我已经打印了 SpEL 表达式,所以我知道它的计算正确。 但是 logback 会继续打印 SpEL 而不是对其进行评估。
在我的道具文件中,我有
user.name= #{user.firstName.concat(' ').concat(user.lastName)}
在我的 logback 文件中,我有
<springProperty scope="context" name="user_name" source="user.name" />
...
<pattern>name=${user_name} %msg%n </pattern>
它不打印名称,而是打印“name=#{user.firstName.concat(' ').concat(user.lastName)}”
我从我的 prop 文件中加载了另一个值(不是 SpEL 表达式),并且该值可以正常工作。 所以我知道我犯的错误是我没有让 logback 文件评估表达式
在logback-spring.xml
文件中处于活动状态的 Spring logback 扩展不支持 SPEL 表达式评估。 此处描述了唯一支持的功能: https ://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging.logback-extensions
此外,您对属性文件中 SPEL 评估的假设似乎不正确:
在解析这些文件和填充环境时,不会处理来自应用程序属性文件的 SpEL 表达式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.