java项目日志写入application insights

1、添加HTTP跟踪
参考文档:https://docs.microsoft.com/en-us/azure/application-insights/app-insights-java-get-started#3-add-an-application-insights-xml-file

2、添加application insights log4j adapter
添加jar包,调用Api,往application insights存储trace
参考文档:https://docs.microsoft.com/en-us/azure/application-insights/app-insights-java-trace-logs

3、代码案例参考
文档案例:
https://github.com/Microsoft/ApplicationInsights-Java/blob/master/collectd/src/main/java/com/microsoft/applicationinsights/collectd/ApplicationInsightsWriter.java

4、Azure平台相关文档
参考文档:https://docs.microsoft.com/zh-cn/azure/application-insights/app-insights-api-custom-events-metrics

import com.microsoft.applicationinsights.TelemetryClient;
TelemetryClient appInsights = new TelemetryClient();
appInsights.trackTrace("application insights log4j adapter444444");
//异常处理
appInsights.trackException(e);

若不想变更过多的代码,可以封装一层,方法和log4f同名

package com.bmw.browser.id5.cn.share.loggerAzure;

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

/**
 * Created by qxr4383 on 2017/12/22.
 */
public class ApplicationInsights {
    private static TelemetryClient telemetryClient = null;
    private static ApplicationInsights applicationInsights = null;
    private ApplicationInsights(TelemetryClient telemetryClient){
        this.telemetryClient = telemetryClient;
    }

    public static ApplicationInsights getApplicationInsights(){
        initializeApplicationInsights();
        return applicationInsights;
    }
//    public static TelemetryClient getTelemetryClient() {
//        initializeTelemetryClient();
//        return telemetryClient;
//    }
//
//    private static void initializeTelemetryClient() {
//        if (telemetryClient==null) {
//            synchronized (ApplicationInsights.class) {
//                if (telemetryClient==null) {
//                    telemetryClient = new TelemetryClient();
//                }
//            }
//        }
//    }

    private static void initializeApplicationInsights() {
        if (applicationInsights==null) {
            synchronized (ApplicationInsights.class) {
                if (applicationInsights==null) {
                //设置InstrumentationKey
                    TelemetryConfiguration telemetryConfiguration = TelemetryConfiguration.getActive();                   telemetryConfiguration.setInstrumentationKey(System.getenv().get("APPLICATION_INSIGHTS_IKEY"));
                    telemetryClient = new TelemetryClient(telemetryConfiguration);
                    applicationInsights = new ApplicationInsights(telemetryClient);
                }
            }
        }
    }

    public static void debug(String message){
        telemetryClient.trackTrace(message, SeverityLevel.Verbose);
    }

    public static void info(Object object){
        if(object!=null){
            telemetryClient.trackTrace(object.toString());
        }
    }

    public static void info(String message){
        telemetryClient.trackTrace(message);
    }

    public static void trackEvent(String message) {
        telemetryClient.trackEvent(message);
    }

    public static void warn(String message){
        telemetryClient.trackTrace(message, SeverityLevel.Warning);
    }

    public static void warn(String message,Exception e){
        telemetryClient.trackException(e);
    }
    public static void error(String message){
        telemetryClient.trackTrace(message, SeverityLevel.Error);
    }

    public static void error(String message,Exception e){
        telemetryClient.trackException(e);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值