Spring Boot 配置文件中的Java Microsoft Insight连接字符串

ego6inou  于 2024-01-06  发布在  Spring
关注(0)|答案(1)|浏览(189)

我在项目中有以下文件夹层次结构:

  1. - src
  2. - main
  3. - profile
  4. - dev
  5. - osoz-config.properties
  6. - prod
  7. - osoz-config.properties

字符串
我有每个环境的连接字符串。我如何从这些文件中设置它们?
我知道我可以通过文件applicationinsights.json或环境变量尝试。我也读了关于遥测配置,但它在最新版本中不可用

wko9yo5t

wko9yo5t1#

我正在使用最新版本,并将TelemetryConfiguration配置到我的springboot应用程序中。


的数据

ApplicationInsights.json:

  1. {
  2. "InstrumentationKey": "your-instrumentation-key",
  3. "TelemetryChannel": {
  4. "DeveloperMode": false
  5. },
  6. "Logging": {
  7. "LogLevel": {
  8. "Default": "Information"
  9. }
  10. },
  11. "Endpoints": {
  12. "LiveMetrics": "https://dc.services.visualstudio.com/v2/track"
  13. }
  14. }

字符串

  • 下面的代码涉及从ApplicationInsights.json加载配置。
  1. import com.microsoft.applicationinsights.TelemetryClient;
  2. import com.microsoft.applicationinsights.telemetry.TraceTelemetry;
  3. public class javatestapp {
  4. public static void main(String[] args) {
  5. // Load the configuration from ApplicationInsights.json
  6. TelemetryConfiguration configuration = TelemetryConfiguration.getActive();
  7. // Initialize TelemetryClient
  8. TelemetryClient telemetryClient = new TelemetryClient(configuration);
  9. // Create and send a custom trace
  10. TraceTelemetry traceTelemetry = new TraceTelemetry("Sample Trace");
  11. telemetryClient.track(traceTelemetry);
  12. // Flush the telemetry and stop the application
  13. telemetryClient.flush();
  14. telemetryClient.getContext().getTelemetryConfiguration().getChannel().stop();
  15. }
  16. }

  • 要存储每个环境的连接字符串,您也可以使用osoz-config.properties,如下所示。
  1. import java.io.InputStream;
  2. import java.util.Properties;
  3. public class ConfigurationManager {
  4. private static final String PROPERTIES_FILE_PATH = "profile/%s/osoz-config.properties";
  5. public static Properties loadProperties(String profile) {
  6. Properties properties = new Properties();
  7. String filePath = String.format(PROPERTIES_FILE_PATH, profile);
  8. try (InputStream input = ConfigurationManager.class.getClassLoader().getResourceAsStream(filePath)) {
  9. if (input == null) {
  10. System.out.println("Sorry, unable to find " + filePath);
  11. return null;
  12. }
  13. properties.load(input);
  14. } catch (Exception e) {
  15. e.printStackTrace();
  16. }
  17. return properties;
  18. }
  19. }

交易查询:


展开查看全部

相关问题