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

如何从应用程序传递属性。登录配置文件的属性

毕宇
2023-03-14

概述:

我在我的logback.xml文件中使用哨兵appender,我想通过大量的html" target="_blank">标签作为参数从application.properties文件到logback配置文件。

向后退。xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/file-appender.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>

    <appender name="SENTRY" class="com.getsentry.raven.logback.SentryAppender">
        <dsn>
            https://e0a61232c92f42ffa34c22914d676a8e:e64f7edc60de490eb004556d2b3fce45@sentry.io/112817
        </dsn>
        <springProfile name="dev">
            <tags>env:dev,app:${app.name},platform:aws</tags>
        </springProfile>
        <springProfile name="stage">
            <tags>env:dev</tags>
        </springProfile>
        <springProfile name="test">
            <tags>env:test</tags>
        </springProfile>

        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>

    <root level="ERROR">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="SENTRY"/>
    </root>

</configuration> 

application.properties:

security.ignored=/**

logging.level.root = DEBUG

spring.profiles.active=dev
app.name=retailServices

注意:application.properties中的spring.profiles.active属性映射到logback配置文件中的springProfile标记。

但问题是在logback中找不到“app.name”属性。xml文件。若我使用这个属性作为系统属性,它可以工作,但我想把它从应用程序传递到配置文件。财产。

因此,任何解决方案,反馈和想法都将受到高度赞赏。

共有3个答案

慕俊迈
2023-03-14

您现在可以直接通过logback上下文或通过第三方编码器来完成。

  LoggerContext context = (LoggerContext)LoggerFactory.getILoggerFactory();
  context.putProperty("global", "value");

https://github.com/getsentry/sentry-java/pull/794

锺高翰
2023-03-14

我发现Spring支持下一个标签

晁文斌
2023-03-14

logback.xml中包括:

<property resource="application.properties" />

然后,您可以以标准方式引用属性,例如${app.name}

 类似资料:
  • 在Spring靴中, application.yml: 通过使用上述配置,我们可以避免在spring boot中基于java web(bean)的配置,这是一个很有价值的优势。 Q: 我们可以从应用程序中添加Kafka错误处理程序和Kafka消费者重试次数属性吗。属性/应用。yml? 我找不到任何关于它的参考或留档,因此希望有一些结论,只是因为这个问题,现在我必须在Spring Boot中转到并删

  • Compile Sdk Version: 指定Android的编译版本. 对应build.gradle文件中的参数是: compileSdkVersion 23 Build Tools Version: 指定构建工具的版本. 对应build.gradle文件中的参数是: buildToolsVersion "23.0.2" SDK编译版本和构建工具的版本都是我们已经下载到本地的,如果本地没有就

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

  • 英文原文:http://emberjs.com/guides/components/passing-properties-to-a-component/ 默认情况下,组件不能访问模板作用域下的属性。 例如,假设有一个用于显示一篇博客的blog-post组件: 1 2 3 4 <script type="text/x-handlebars" id="components/blog-post">

  • 我有基于环境的不同配置文件,需要加载它。如何实现,以及如何将Quarkus主应用程序的程序参数传递给开发人员配置文件(spring.config.location=classpath:/config/dev/application.yml) 是否有方法在启动@QuarkusMain时加载数据库配置。我已经将所有数据库配置配置到一个类中,以及如何在main中加载这个类。请对此提出建议。

  • 问题内容: 最近,我一直在为在Glassfish v3上运行的Web应用程序实施安全性。我通过设置基本身份验证成功设法保护了一些资源,如下所示: 现在,我想知道如何在登录提示中引入用户名,以影响用户的实际数据。我以为可以有一个会话属性来获取那段数据,但是我不知道它是哪一个。 会话属性我错了吗?还有其他方法可以访问该登录信息吗? 提前致谢。 问题答案: 可通过以下方式获得: 在JSP EL中等效: