官方文檔
集成Java SDK
手動引入jar包「quickaplus-log-collector-java-sdk-1.0.1-SNAPSHOT.jar」
<dependency><groupId>com.alibaba.lingyang</groupId><artifactId>quickaplus-log-collector-java-sdk</artifactId><version>1.0.1</version><scope>system</scope><systemPath>${project.basedir}/../lib/quickaplus-log-collector-java-sdk-1.0.1-SNAPSHOT.jar</systemPath></dependency><!-- 這里需要okhttp3依賴不然sdk調用syncSendLog方法會報錯 --><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.9.3</version></dependency>
基礎配置
注意:QlcEndpoint,sdk中會自動拼接/server,自己不要加
qt:serviceId: YMlICJqxxxxserviceSecret: E3qttxxxxxxxxxxxappKey: WDmVjrSxxxxxsetQlcEndpoint: https://log-api.aplus.xxxxdebugKey: "592320xxxxx5095_001" #生產環境置空
package com.vehicle.manager.core.config;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;/*** @author zr 2024/5/24*/
@Configuration
@ConfigurationProperties(prefix = "qt")
@Data
public class QtProperties {private String serviceId;private String serviceSecret;private String appKey;private String setQlcEndpoint;private String debugKey;
}
封裝方法
package com.vehicle.manager.core.service;import com.alibaba.lingyang.quick.tracking.qlc.java.sdk.config.QtSdkConfig;
import com.alibaba.lingyang.quick.tracking.qlc.java.sdk.model.QtLog;
import com.alibaba.lingyang.quick.tracking.qlc.java.sdk.sender.QtLogSenderHelper;
import com.vehicle.manager.core.config.QtProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.HashMap;
import java.util.Map;/*** @author zr 2024/5/24*/
@Service
@Slf4j
public class QtService {@Autowiredprivate QtProperties qtProperties;public void configureQtSdk() {QtSdkConfig.setServiceId(qtProperties.getServiceId());QtSdkConfig.setServiceSecret(qtProperties.getServiceSecret());QtSdkConfig.setAppKey(qtProperties.getAppKey());QtSdkConfig.setQlcEndpoint(qtProperties.getSetQlcEndpoint());QtSdkConfig.setOpenLog(true);QtSdkConfig.setCallback(ctx -> {log.info("Response Code: {}", ctx.getResponseCode());log.info("Response Message: {}", ctx.getResponseMessage());log.info("Send Success: {}", ctx.getSendSuccess());log.info("Send Data: {}", ctx.getSendData());log.info("Response Data: {}", ctx.getResponseData());log.info("Errors: {}", ctx.getErrors());});}// eventId為事件編碼,用于區分不同的事件// customProperty事件屬性,我們需要存的日志public void sendLog(String eventId, Map<String, Object> customProperty) {configureQtSdk();// 構造日志對象QtLog log = new QtLog.Builder().eventId(eventId) //事件編碼(必填).userId("hailiang-server") //設置賬號ID(設備ID和賬號ID必填一個).customProperty(customProperty) //設置事件屬性(選填).debugKey(qtProperties.getDebugKey()) //設置埋點驗證標志位(選填),上線時必須刪除.eventTimestamp(System.currentTimeMillis()) //設置客戶端時間戳(必填).serverTimestamp(System.currentTimeMillis()).build(); //設置服務端時間戳(可選)// 發送日志QtLogSenderHelper.syncSendLog(log);}
}
埋點驗證
拿到DebugKey,修改到配置文件(生產環境記得去除掉),點擊下一步來到日志明細,方法執行成功后日志明細會收到相應的消息
測試
package com.vehicle.manager.core;import com.alibaba.lingyang.quick.tracking.qlc.java.sdk.config.QtSdkConfig;
import com.alibaba.lingyang.quick.tracking.qlc.java.sdk.model.QtLog;
import com.alibaba.lingyang.quick.tracking.qlc.java.sdk.sender.QtLogSenderHelper;
import com.vehicle.manager.api.StartApplication;
import com.vehicle.manager.core.config.QtProperties;
import com.vehicle.manager.core.service.QtService;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;import java.util.HashMap;
import java.util.Map;/*** @author zr 2024/5/24*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = StartApplication.class)
@Slf4j
public class TestSendLog {@Autowiredprivate QtService qtService;@Testpublic void name() {HashMap<String, Object> customProperty = new HashMap<>();customProperty.put("test2","test2");qtService.sendLog("test_success",customProperty);}
}
日志明細