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

Simple Log Service:ログを異なるストレージ送信先にエクスポートする方法

最終更新日:Mar 14, 2026

このトピックでは、ログを異なるストレージ送信先にエクスポートする方法について説明します。ログ内のフィールドは、送信先によって異なります。

背景情報

ログを複数のストレージ送信先にエクスポートする必要があり、送信先ごとにログに含まれるフィールドが異なります。この例では、生ログのフィールドは f1、f2、f3、f4、および f5 です。

  • target1 に出力する場合、f1 および f2 フィールドを削除し、他のすべてのフィールドを保持します。

  • target2 に出力する場合、f3 および f4 フィールドを削除し、他のすべてのフィールドを保持します。

設定例

生ログ

__time__ : 1591754815
f1: GET
f2: https
f3: aliyun
f4: 200
f5: standard

変換構文

説明

以下の例で使用されているデータ変換関数の詳細については、「関数概要」をご参照ください。

  1. e_set 関数を使用して、tag: target1, target2 という新しいフィールドをログに追加します。

  2. e_split 関数を使用して、tag フィールドに基づいてログを 2 つのログに分割します。一方のログには tag: target1 フィールドが含まれ、もう一方のログには tag: target2 フィールドが含まれます。

  3. tag: target1 フィールドを含むログから f1 および f2 を削除し、e_output 関数を使用して f3、f4、および f5 を target1 にエクスポートします。tag: target1 フィールドを含むログに対しては、以降の変換ルールは実行されません。

  4. tag: target2 フィールドを含むログから f3 および f4 を削除します。

e_set("tag", "target1, target2")
e_split("tag")
e_if(e_search("tag==target1"), e_compose(e_drop_fields("f1", "f2", regex=False), e_output("target1")))
e_drop_fields("f3", "f4", regex=False)
e_output("target2")

target1 へフィールドをエクスポート

__time__ : 1591754815
f3: aliyun
f4: 200
f5: standard

target2 への出力

__time__ : 1591754815
f1: GET
f2: https
f5: standard

誤った設定

次の処理構文を使用すると、target1 への出力は要件を満たします。ただし、この出力がそのまま target2 に渡されるため、target2 のログから f1 および f2 フィールドが失われてしまいます。

e_drop_fields("f1", "f2", regex=False)
e_coutput("target1")
e_drop_fields("f3", "f4", regex=False)
e_output("target2")