tencent cloud

Cloud Log Service

ログ配信

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:51:41
AI翻訳

シナリオ説明

あるユーザーがログをCLS(Cloud Log Service)に収集します。ログは二重縦線||で区切られ、ログの時間、ログレベル、タスクID、プロセス名、ホストIPなどがあります。現在、ユーザーはログを構造化し、ERROR、WARNING、INFOの3つのレベルに従って、ログを3つの異なるターゲットログトピックに配信し、後続の分析を容易にしたいと考えています。

シナリオ分析

ログの構造化:二重縦線||区切り文字に従って、ログを構造化します。
ログ配信:ERROR、WARNING、INFOの3つのレベルに従って、ログを3つの異なるターゲットログトピックに配信します。
説明:
データ加工タスクを新規作成する際に、ターゲットログトピックとして固定ログトピックを選択し、あらかじめターゲット名を定義します。この名前はlog_output(\\"ターゲット名\\")関数で使用されます。




元のログ

[
{
"message": "2021-12-09 11:34:28.279||INFO||605c643e29e4||BIN--Python||192.168.1.1"
},
{
"message": "2021-12-09 11:35:28.279||WARNING||615c643e22e4||BIN--Java||192.168.1.1"
},
{
"message": "2021-12-09 11:36:28.279||ERROR||635c643e22e4||BIN--Go||192.168.1.1"
}
]

DSL加工関数

//||を区切り文字として使用し(縦線はエスケープが必要です)、messageからtime、loglevel、taskId、processName、ipフィールドを抽出します。
ext_sepstr("message","time,loglevel,taskId,ProcessName,ip",sep="\\|\\|")

//messageを破棄します。
fields_drop("message")

//switch文を使用して配信します。
t_switch(

//loglevelが「INFO」の場合、info_logに出力します。
op_str_eq(v("loglevel"),"INFO"),log_output("info_log"),
//loglevelが「WARNING」の場合、warning_logに出力します。
op_str_eq(v("loglevel"),"WARNING"),log_output("warning_log"),
//loglevelが「ERROR」の場合、error_logに出力します。
op_str_eq(v("loglevel"),"ERROR"),log_output("error_log")

)

加工結果

error_log内:
{
"processName":"BIN--Go",
"ip":"192.168.1.1",
"loglevel":"ERROR",
"taskId":"635c643e22e4",
"time":"2021-12-09 11:36:28.279"
}
warning_log内:
{
"processName":"BIN--Java",
"ip":"192.168.1.1",
"loglevel":"WARNING",
"taskId":"615c643e22e4",
"time":"2021-12-09 11:35:28.279"
}
info_log内:
{
"processName":"BIN--PYTHON",
"ip":"192.168.1.1",
"loglevel":"INFO",
"taskId":"605c643e29e4",
"time":"2021-12-09 11:34:28.279"
}
注意
ターゲットログトピックとターゲット名を事前に設定しておく必要があります。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック