You need to enable JavaScript to run this app.
文档中心
日志服务

日志服务

复制全文
下载 pdf
Java SDK
快速开始 Java SDK
复制全文
下载 pdf
快速开始 Java SDK
本文介绍如何快速使用日志服务 Java SDK 实现基础的日志采集流程,包括创建日志项目、创建日志主题、写入日志和查询日志等操作。​
前提条件​
  • 已安装日志服务 Java SDK。更多信息,请参见安装 Java SDK。​
初始化客户端​
初始化 Client 实例之后,才可以向 TLS 服务发送请求。初始化时推荐通过环境变量动态获取火山引擎密钥等身份认证信息,以免 AccessKey 硬编码引发数据安全风险。​
初始化代码如下:​
​
ClientConfig clientConfig = new ClientConfig(System.getenv("VOLCENGINE_ENDPOINT"), System.getenv("VOLCENGINE_REGION"),​
System.getenv("VOLCENGINE_ACCESS_KEY_ID"), System.getenv("VOLCENGINE_ACCESS_KEY_SECRET"), System.getenv("VOLCENGINE_TOKEN"));​
TLSLogClient client = ClientBuilder.newClient(clientConfig);​
​
示例代码​
本文档以日志服务的基本日志采集和检索流程为例,介绍如何使用日志服务 Java SDK 管理日志服务基础资源。本示例中,创建一个 java 文件,并调用接口分别完成创建项目、创建主题、创建索引、写入日志数据、消费日志和查询日志数据。​
代码示例如下:​
​
package com.volcengine.example.tls.demo;​
​
import com.volcengine.model.tls.*;​
import com.volcengine.model.tls.exception.LogException;​
import com.volcengine.model.tls.request.*;​
import com.volcengine.model.tls.response.*;​
import com.volcengine.service.tls.TLSLogClient;​
​
import java.util.ArrayList;​
import java.util.List;​
​
import static com.volcengine.model.tls.Const.LZ4;​
​
​
public class Demo {​
public static void main(String[] args) throws LogException, InterruptedException {​
// 初始化客户端,推荐通过环境变量动态获取火山引擎密钥等身份认证信息,以免 AccessKey 硬编码引发数据安全风险。详细说明请参考https://www.volcengine.com/docs/6470/1166455​
// 使用 STS 时,ak 和 sk 均使用临时密钥,且设置 VOLCENGINE_TOKEN;不使用 STS 时,VOLCENGINE_TOKEN 部分传空​
ClientConfig clientConfig = new ClientConfig(System.getenv("VOLCENGINE_ENDPOINT"), System.getenv("VOLCENGINE_REGION"),​
System.getenv("VOLCENGINE_ACCESS_KEY_ID"), System.getenv("VOLCENGINE_ACCESS_KEY_SECRET"), System.getenv("VOLCENGINE_TOKEN"));​
TLSLogClient client = ClientBuilder.newClient(clientConfig);​
​
// 创建日志项目​
// 请根据您的需要,填写ProjectName和可选的Description;请您填写和初始化client时一致的Region;​
// CreateProject API的请求参数规范请参阅https://www.volcengine.com/docs/6470/112174​
CreateProjectRequest createProjectRequest = new CreateProjectRequest("project-name", System.getenv("VOLCENGINE_REGION"), "description");​
CreateProjectResponse createProjectResponse = client.createProject(createProjectRequest);​
String projectID = createProjectResponse.getProjectId();​
​
// 创建日志主题​
// 请根据您的需要,填写ProjectId、TopicName、Ttl、Description、ShardCount等参数值​
// CreateTopic API的请求参数规范请参阅https://www.volcengine.com/docs/6470/112180​
CreateTopicRequest createTopicRequest = new CreateTopicRequest();​
createTopicRequest.setProjectId(projectID);​
createTopicRequest.setTopicName("topic-name");​
createTopicRequest.setTtl(30);​
createTopicRequest.setDescription("description");​
createTopicRequest.setShardCount(2);​
CreateTopicResponse createTopicResponse = client.createTopic(createTopicRequest);​
String topicID = createTopicResponse.getTopicId();​
​
// 创建索引配置​
// 请根据您的需要,填写TopicId,开启FullText全文索引或KeyValue键值索引或同时开启二者​
// CreateIndex API的请求参数规范请参阅https://www.volcengine.com/docs/6470/112187​
FullTextInfo fullText = new FullTextInfo(false, ",-;", false);​
ValueInfo textValueInfo = new ValueInfo();​
textValueInfo.setValueType("text");​
textValueInfo.setDelimiter(",");​
textValueInfo.setCaseSensitive(false);​
textValueInfo.setIncludeChinese(false);​
textValueInfo.setSqlFlag(false);​
List<KeyValueInfo> keyValue = new ArrayList<>();​
keyValue.add(new KeyValueInfo("test-key", textValueInfo));​
CreateIndexRequest createIndexRequest = new CreateIndexRequest(topicID, fullText, keyValue);​
CreateIndexResponse createIndexResponse = client.createIndex(createIndexRequest);​
​
// (不推荐)本文档以 PutLogs 接口同步请求的方式上传日志为例​
// (推荐)在实际生产环境中,为了提高数据写入效率,建议通过 Java Producer 方式写入日志数据​
​
// 如果选择使用PutLogs上传日志的方式,建议您一次性聚合多条日志后调用一次PutLogs接口,以提升吞吐率并避免触发限流​
// 请根据您的需要,填写TopicId、Source、FileName和Logs列表,建议您使用lz4压缩​
// PutLogs API的请求参数规范和限制请参阅https://www.volcengine.com/docs/6470/112191​
List<LogItem> logs = new ArrayList<>();​
for (int i = 0; i < 100; i++) {​
LogItem item = new LogItem(System.currentTimeMillis());​
item.addContent("index", String.valueOf(i));​
item.addContent("test-key", "test-value");​
logs.add(item);​
}​
PutLogsRequestV2 request = new PutLogsRequestV2(logs, topicID, null, LZ4, "log-path", "127.0.0.1");​
PutLogsResponse putLogsResponse = client.putLogsV2(request);​
Thread.sleep(30000);​
​
// 查询分析日志数据​
// 请根据您的需要,填写TopicId、Query、StartTime、EndTime、Limit等参数值​
// SearchLogs API的请求参数规范和限制请参阅https://www.volcengine.com/docs/6470/112195​
SearchLogsRequest searchLogsRequest = new SearchLogsRequest();​
searchLogsRequest.setTopicId("topicId");​
searchLogsRequest.setQuery("*");​
searchLogsRequest.setStartTime(1346457600);​
searchLogsRequest.setEndTime(1630454400);​
searchLogsRequest.setLimit(20);​
SearchLogsResponseV2 searchLogsResponse = client.searchLogsV2(searchLogsRequest);​
​
// 打印SearchLogs接口返回值中的部分基本信息​
// 请根据您的需要,自行处理返回值中的其他信息​
System.out.println(searchLogsResponse.getResultStatus());​
System.out.println(searchLogsResponse.getCount());​
System.out.println(searchLogsResponse.isAnalysis());​
}​
}​
​
​
最近更新时间:2026.09.21 17:50:14
这个页面对您有帮助吗?
有用
有用
无用
无用