我在应用程序中有一个logback-spring.xml文件,并且正在使用springProperties,如下面的示例所示
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<springProperty name="event.pattern" source="my.logging.event.pattern"/>
我的springProperties的值在spring cloud config .yml文件中设置
my:
logging:
activated: true
appender:
waitStrategyType: sleeping
encoder:
includeCallerData: true
includeMdc: false
event:
maxSize: 15000
pattern: |
{
"message": "%.-${my.logging.event.maxSize}msg",
"req": {
"url": "%mdc{req.url}",
"headers": {
"x-request-id": "%mdc{req.headers.x-request-id}"
}
},
"application": {
"name": "${spring.application.name}"
}
}
很幸运,启动我的应用时出现错误:
ERROR in net.logstash.logback.composite.loggingevent.LoggingEventPatternJsonProvider@44a2b17b - Failed to parse pattern [event.pattern_IS_UNDEFINED] com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'event': was expecting ('true', 'false' or 'null')
这是因为在外部化配置之前读取了logback-spring.xml
什么是解决此问题的最佳方法?