首页 > 解决方案 > 在xml中声明变量

问题描述

我在 Spring Boot 属性中定义了 spring.application.name,在 logback.xml 中写了 $ {spring.application.name:-},但它说的是 spring.application.name_IS_UNDEFINED。你知道为什么吗?

如何在 xml 中使用“主机名”之类的东西?

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%5p [${spring.zipkin.service.name:${spring.application.name:-}},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}] aaaaaaaaaaaaaaaaaa %d{HH:mm} %-5level %logger{36} - %msg%n</Pattern>
        </layout>
    </appender>

    <logger name="example.logback.level.grandparents" level="TRACE"/>
    <logger name="example.logback.level.grandparents.parents.children" level="INFO"/>
    <root level="DEBUG">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

我的'application.properties'

spring.application.name=elasticsearch-monitering
spring.kafka.consumer.group-id=foo
spring.kafka.consumer.auto-offset-reset=earliest

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

#elasticsearch server info
server.elasticsearch.host=my.i.p
server.elasticsearch.port=9200

标签: xmlspringspring-boot

解决方案


您需要至少有 3 个课程

请参见下面的示例:

应用程序属性

logback.appender.FILE-AUDIT.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss, GMT+8} - %msg%n

logback-spring.xml

  <?xml version="1.0" encoding="UTF-8"?>
       <configuration>
             ..........
          <springProperty name="fileAppenderPattern" source="logback.appender.FILE-AUDIT.ConversionPattern"/>
             ..........
          <include resource="logback-appender-file.xml"/>
            ..........
      </configuration>

logback-appender-文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>${fileAppenderPattern}</Pattern>
        </layout>
    </appender>

    <logger name="example.logback.level.grandparents" level="TRACE"/>
    <logger name="example.logback.level.grandparents.parents.children" level="INFO"/>
    <root level="DEBUG">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

推荐阅读