赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 开发参考
  5. 日志服务SDK
  6. Java SDK
  7. 日志管理
  8. 使用Java SDK写入日志

使用Java SDK写入日志

  • 日志管理
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

如果想将应用程序的运行日志、操作系统日志、用户日志等上传到日志服务,您可以使用日志服务Java SDK提供的PutLogs方法。本文主要介绍使用日志服务Java SDK将日志写入到日志服务的操作步骤。

前提条件

  • 已开通日志服务。

  • 已初始化日志服务Java SDK。

使用限制

  • aliyun-log-producer底层调用PutLogs接口上传日志,每次可以写入的原始日志大小存在限制。更多信息,请参见数据读写。

  • 日志服务的基础资源,包括创建Project个数、Logstore个数、Shard个数、LogtailConfig个数、机器组个数、单个LogItem大小、LogItem(Key)长度和LogItem(Value)长度等均存在限制。更多信息,请参见基础资源。

  • 代码首次运行后,请在日志服务控制台开启日志库索引,等待一分钟后,进行查询。

  • 在控制台进行日志查询时,当单个字段值长度超过最大长度时,超出部分被截断,不参与分析。更多信息,请参考创建索引。

普通写入&指定位置写入

public PutLogsResponse PutLogs(String project, String logStore,
			String topic, List<LogItem> logItems, String source,
			String shardHash)

参数说明

参数

类型

是否必填

说明

project

String

是

目标Project。

logStore

String

是

目标Logstore。

topic

String

否

日志主题。

logItems

List

是

要发送的日志/日志列表。写入日志的格式为LogItem。

source

String

否

发送源。

说明

如果留空或没有指定,该字段将被赋予producer所在宿主机的IP。

shardHash

String

否

日志写入位置的HashID。

代码示例

import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.common.LogContent;
import com.aliyun.openservices.log.common.LogItem;
import com.aliyun.openservices.log.exception.LogException;

import java.util.ArrayList;
import java.util.List;

public class PutLogsTest {
    public static void main(String[] args) throws LogException {

        /**
         * 本示例从环境变量中获取AccessKey ID和AccessKey Secret。
         */
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        /**
         * 日志服务的服务接入点。此处以杭州为例,其它地域请根据实际情况填写。
         */
        String host = "cn-hangzhou.log.aliyuncs.com";
        /**
         * 创建日志服务Client。
         */
        Client client = new Client(host, accessId, accessKey);
        String project = "ali-peoject-test";
        String logStore = "test-logstore";
        String topic = "";
        String source = "";
        LogContent logContent = new LogContent("message", "2021-05-15 16:43:35 ParameterInvalid 400\n" +
                "com.aliyun.openservices.log.exception.LogException:The body is not valid json string.\n" +
                "at com.aliyun.openservices.log.Client.ErrorCheck(Client.java:2161)\n" +
                "at com.aliyun.openservices.log.Client.SendData(Client.java:2312)\n" +
                "at com.aliyun.openservices.log.Client.PullLogsk(Client.java:1397)\n" +
                "at com.aliyun.openservices.log.Client.SendData(Client.java:2265)\n" +
                "at com.aliyun.openservices.log.Client.GetCursor(Client.java:1123)\n" +
                "at com.aliyun.openservices.log.Client.PullLogs(Client.java:2161)\n" +
                "at com.aliyun.openservices.log.Client.ErrorCheck(Client.java:2426)\n" +
                "at transformEvent.main(transformEvent.java:2559)");
        List<LogItem> logItems = new ArrayList<>();
        for (int i = 0; i < 5; ++i) {
            LogItem logItem = new LogItem();
            logItem.PushBack("language", "android");
            logItem.PushBack("time", String.valueOf(System.currentTimeMillis()));
            logItem.PushBack(logContent);
            logItems.add(logItem);
        }

        client.PutLogs(project, logStore, topic, logItems, source, null);
    }
}

后续步骤

  • 用Java SDK查询日志,请参见使用GetLogs接口查询日志。

  • 使用API查询日志,请参见GetLogsV2。

  • 使用日志服务控制台查询日志,请参见查询与分析快速指引。

相关文档

  • 使用Java SDK创建Project和Logstore,请参见Java SDK快速入门。

  • 需要将日志进行压缩、批量上传日志到日志服务,请参见使用Aliyun Log Java Producer写入日志数据。

  • 在使用Java SDK操作过程中,若服务端返回结果中包含错误信息,则表示调用接口失败。您可以参考API错误码对照表查找对应的解决方法。更多信息,请参见API错误处理对照表。

相关文章

使用Java SDK管理索引 2025-04-22 10:35

索引是一种倒排的数据存储结构,由关键词和指向实际数据的逻辑指针组成,用于快速根据关键词定位到具体数据行,类似于数据的目录。您只有配置索引后,才能进行查询和分析操作。本文通过代码示例介绍如何创建、修改、查询、删除索引。 前提条件

使用Java SDK写入日志 2025-04-22 10:35

如果想将应用程序的运行日志、操作系统日志、用户日志等上传到日志服务,您可以使用日志服务Java SDK提供的PutLogs方法。本文主要介绍使用日志服务Java SDK将日志写入到日志服务的操作步骤。 前提条件

使用Aliyun Log Java Producer写入日志数据 2025-04-22 10:35

如果您在使用Flink、Spark、Storm等大数据计算引擎时,需要将日志进行压缩、批量上传日志到日志服务、减少网络传输资源的占用,API或者SDK往往无法满足大数据场景对数据写入能力的要求,您可以使用Aliyun Log Java Producer,便捷高效地将数据上传到日志服务。

使用GetLogs接口查询日志 2025-04-22 10:35

完成日志采集后,您可以调用GetLogs接口查询采集到的日志。本文介绍GetLogs接口示例。 前提条件 已完成日

使用Java SDK管理快速查询 2025-04-22 10:35

当您需要频繁查看某一查询和分析结果时,可以将对应查询和分析语句另存为快速查询。本文通过代码示例介绍如何创建、修改、查询、删除快速查询等。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号