すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Simple Log Service SDK for Java を使用してログを書き込む

最終更新日:Mar 01, 2025

アプリケーションの操作ログ、オペレーティングシステムログ、およびユーザーログを Simple Log Service にアップロードする場合、Simple Log Service SDK for Java が提供する PutLogs メソッドを使用できます。このトピックでは、Simple Log Service SDK for Java を使用して Simple Log Service にログを書き込む方法について説明します。

前提条件

制限事項

  • Aliyun Log Java Producer の基盤となるメカニズムは、PutLogs 操作を呼び出してログをアップロードします。一度にアップロードできる未加工ログのサイズには制限があります。詳細については、「データの読み取りと書き込み」をご参照ください。

  • プロジェクト、ログストア、シャード、マシングループなどの Simple Log Service の基本リソースにも制限があります。詳細については、「基本リソース」をご参照ください。

  • コードを初めて実行するときは、Simple Log Service コンソールでログストアのインデックス作成機能を有効にする必要があります。その後、約 1 分待ってからログをクエリしてください。

  • Simple Log Service コンソールでログをクエリし、返されたログのフィールドの値の長さが上限を超えている場合、フィールド値は切り捨てられ、超過部分は分析に使用されません。詳細については、「インデックスの作成」をご参照ください。

一般的な書き込みと特定の場所への書き込み

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

パラメーター

パラメーター

種類

必須

説明

project

String

はい

宛先プロジェクト。

logStore

String

はい

宛先ログストア。

topic

String

いいえ

ログのトピック。

logItems

List

はい

アップロードするログ。LogItem 形式でログをアップロードする必要があります。

source

String

いいえ

ログのソース。

説明

このパラメーターを空のままにすると、プロデューサーが存在するホストの IP アドレスが自動的に使用されます。

shardHash

String

いいえ

ログをアップロードする場所のハッシュ ID。

サンプルコード

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 シークレットは環境変数から取得されます。
         */
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        /**
         * Simple Log Service エンドポイント。この例では、中国 (杭州) リージョンの Simple Log Service エンドポイントが使用されています。パラメーター値を実際のエンドポイントに置き換えてください。
         */
        String host = "cn-hangzhou.log.aliyuncs.com";
        /**
         * Simple Log Service クライアントを作成します。
         */
        Client client = new Client(host, accessId, accessKey);
        String project = "ali-project-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);
    }
}

次のステップ

  • Simple Log Service SDK for Java を使用してログをクエリできます。詳細については、「GetLogs を使用したログのクエリ」をご参照ください。

  • 操作を呼び出してログをクエリします。詳細については、「GetLogsV2」をご参照ください。

  • Simple Log Service コンソールでログをクエリできます。詳細については、「ログクエリと分析のガイド」をご参照ください。

関連情報

  • Simple Log Service SDK for Java を使用して、プロジェクトとログストアを作成できます。詳細については、「Simple Log Service SDK for Java の使用開始」をご参照ください。

  • ログを圧縮し、Simple Log Service にバッチでアップロードできます。詳細については、「Aliyun Log Java Producer を使用して Simple Log Service にログを書き込む」をご参照ください。

  • Simple Log Service SDK for Java を使用した後に Simple Log Service から返された応答にエラー情報が含まれている場合、呼び出しは失敗します。API 呼び出しが失敗したときに返されるエラーコードに基づいてエラーをトラブルシューティングできます。詳細については、「エラーコード」をご参照ください。