当前位置: 首页 > 知识库问答 >
问题:

从应用程序.yml 记录目标配置

柴凌
2023-03-14

我正在尝试从application.yml的XML导入目标配置中配置我的回退。

当我在XML中设置静态目标时,一切都很好,但如果不是,我在启动时会出现这个异常:

Could not invoke method addDestination in class net.logstash.logback.appender.LogstashTcpSocketAppender with parameter of type java.lang.String java.lang.reflect.InvocationTargetException
ERROR in net.logstash.logback.appender.LogstashTcpSocketAppender[STASH] - No destination was configured. Use <destination> to add one or more destinations to the appender

我的依赖关系:

  • Spring启动:“1.5.4.发布”
  • net.logstash.logback:logstash-logback-encoder:4.9

logback-spring.xml

    <springProperty name="LOGBACK_URL" source="logback.destination.url"/>
    <springProperty name="LOGBACK_PORT" source="logback.destination.port"/>
    <appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>${LOGBACK_URL}:${LOGBACK_PORT}</destination>
        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">...
        </encoder>
    </appender>

applicaiton.yml

logback:
  destination:
    url: kibana.test
    port: 1234

我试图避免将此配置迁移到java,并希望这是不必要的。提前致谢!

编辑

我通过添加默认值解决了这个问题,该值是xml配置中的空间,如下所示:

<destination>${LOGBACK_URL:- }:${LOGBACK_PORT:- }</destination>

共有1个答案

田博易
2023-03-14

只是把它留给面临类似问题的人,在我的例子中,我必须把http://从url的destination标记中删除。

 类似资料:
  • 我有一个Spring Boot应用程序,它支持可以使用应用程序设置的各种配置属性。yaml、环境变量或系统属性。目前,确定支持哪些属性的唯一方法是询问其他开发人员或深入了解属性对象的代码。有没有比这更好的方法来生成某种形式的文档?我搜索了一下,却找不到任何答案,似乎没有人在记录他们的配置,或者是以特别的手动方式进行。理想情况下,通过属性配置的bean将具有Javadoc样式的注释,它们将由Spri

  • 本文向大家介绍如何配置Spring Boot应用程序日志记录?相关面试题,主要包含被问及如何配置Spring Boot应用程序日志记录?时的应答技巧和注意事项,需要的朋友参考一下 Spring Boot附带了对Log4J2,Java Util Logging和Logback的支持。它通常预先配置为控制台输出。可以通过仅在application.properties文件中指定logging.leve

  • 我有一段扫描Spring上下文的代码: 我需要从文件,所以在类中,我有: (我从这里复制了YamlProperty tyLoaderFactory类) 是一个典型的Spring Boot文件,其中包含一些配置文件属性和默认配置文件: 在某些bean中,我使用读取属性。 当我运行我的应用程序,我传递变量,但我得到一个错误: 无法解析值“${file}”中的占位符“file” (由于applicati

  • 我试图将一个应用程序从spring-boot1迁移到Spring-Boot2,但是我在spring-boot部分遇到了很多困难: 我有这个日志: 上下文初始化期间遇到异常-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.boot.autocigure.liquibase.

  • 我有不同属性的application.yml如下所示。 我使用@ConfigurationProperties将这些属性绑定到Spring组件 我将在Spring Boot控制器中注入此组件,并将此配置绑定到get-configsendpoint/控制器/配置 调用此endpoint时,期望返回 而是返回如下所示的响应 yml中的列表正在映射到Map中的对象。我们如何实现对各自数据类型的正确绑定?

  • 问题内容: 我正在尝试将上载的多部分文件写入文件系统。我有一个名为audio的目录,该目录位于Web应用程序的根目录中(不在WEB- INF内,但在它旁边,可以像CSS和javascript一样公开访问)。 我想将上传的文件写入该目录,但似乎无法获取所需的路径。我以为使用ServletPath()然后使用realPath()可能可行,但是我没有通过Spring控制器对ServletContext的