Application Insights支持java的多环境

时间:2015-08-19 04:08:26

标签: java azure azure-application-insights

我们使用Java开发一个使用NetBeans作为后端的Web应用程序。我想从环境(如Dev,Prod,Stage)而不是XML文件中读取InstrumentationKey。我读过enter link description here,但我仍然不知道从哪里开始。有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

请参阅链接https://azure.microsoft.com/en-us/documentation/articles/app-insights-api-custom-events-metrics/#dynamic-ikey和类的Javadoc com.microsoft.applicationinsights.TelemetryClient& http://dl.windowsazure.com/applicationinsights/javadoc/中的com.microsoft.applicationinsights.telemetry.TelemetryContext。我建议您参考本办公室文档,了解如何使用Java进行应用程序洞察:https://azure.microsoft.com/en-us/documentation/articles/app-insights-java-get-started/

为避免将遥测与开发,测试和生产环境混淆,您可以根据环境更改检测键。 您可以在代码中设置它,而不是从配置XML文件中获取检测密钥。在初始化方法中设置密钥。

Java示例代码:

import com.microsoft.applicationinsights.TelemetryClient;
import com.microsoft.applicationinsights.telemetry.TelemetryContext;

TelemetryClient client = new TelemetryClient();
TelemetryContext context = client.getContext();

// Change instrumentationKey
// Step #1: Get OS Environment Variable

String env = System.getenv("APP_INSIGHTS_ENV");

// Step #2: Get Key from Properties file
Properties props = new Properties();
props.load(...);
String myKey = props.getProperty(env);
Context.setInstrumentationKey(myKey);

另外,您可以使用C#来引用这种类似的场景:

http://blogs.msdn.com/b/visualstudioalm/archive/2015/01/07/application-insights-support-for-multiple-environments-stamps-and-app-versions.aspx

最诚挚的问候。