メトリクスフィルター、サブスクリプションフィルター、フィルターログイベント、およびライブテールのフィルターパターン構文 - Amazon CloudWatch Logs

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

メトリクスフィルター、サブスクリプションフィルター、フィルターログイベント、およびライブテールのフィルターパターン構文

注記

Amazon CloudWatch Logs Insights クエリ言語でロググループをクエリする方法については、「」を参照してくださいCloudWatch Logs Insights クエリ構文

CloudWatch Logs を使用すると、メトリクスフィルターを使用してログデータを実用的なメトリクスに変換したり、サブスクリプションフィルターを使用してログイベントを他の AWS サービスにルーティングしたり、ログイベントをフィルタリングしてログイベントを検索したり、Live Tail を使用してログを取り込み時にインタラクティブにリアルタイムで表示したりできます。

フィルターパターンは、メトリクスフィルター、サブスクリプションフィルター、フィルターログイベント、ライブテールがログイベントの語句を照合するために使用する構文を構成します。語句には、単語、正確なフレーズ、または数値を指定できます。正規表現 (regex) は、スタンドアロンのフィルターパターンの作成に使用するか、JSON やスペース区切りのフィルターパターンに組み込むことができます。

照合する語句を使用してフィルターパターンを作成します。フィルターパターンは、定義する語句を含むログイベントのみを返します。 CloudWatch コンソールでフィルターパターンをテストできます。

サポートされている正規表現 (regex) 構文

regex を使用してログデータを検索とフィルタリングする際は、その式を % で囲む必要があります。

regex を使ったフィルターパターンには、次のものしか含めることができません

  • 英数字 - 英数字とは、文字 (A〜Z または a〜z) または数字 (0~9) を指します。

  • サポートされている記号文字 - これには、「_」、「#」、「=」、「@」、「/」、「;」、「,」、「-」が含まれます。たとえば、「!」はサポートされていないため、%something!% は拒否されます。

  • サポートされている演算子 - これには、「^」、「$」、「?」、「[」、「]」、「{」、「}」、「|」、「\」、「*」、「+」、「.」が含まれます。

() 演算子はサポートされていません。括弧を使用してサブパターンを定義することはできません。

マルチバイト文字はサポートされていません。

注記

クォータ

メトリックスフィルターまたはサブスクリプションフィルターを作成するとき、ロググループごとに regex を含むフィルターパターンが最大 5 つあります。

メトリックスフィルターとサブスクリプションフィルターの区切りまたは JSON フィルターパターンを作成するとき、またはログイベントまたはライブテールをフィルタリングするとき、フィルターパターンごとに 2 つの regex の制限があります。

[サポートされている演算子の使い方]

  • ^:文字列の先頭の一致。たとえば、%^[hc]at% は「hat」と「cat」を一致とみなしますが、文字列の先頭でのみ適用されます。

  • $: 文字列の末尾の一致。たとえば、%[hc]at$% は「hat」と「cat」を一致とみなしますが、文字列の末尾でのみ適用されます。

  • ?: 前の期間の 0 個以上のインスタンスに一致します。たとえば、%colou?r% は「color」と「colour」を一致とみなします。

  • []: 文字クラスを定義します。括弧内の文字リストまたは文字範囲との一致。たとえば、%[abc]% は「a」、「b」、「c」を一致とみなします。%[a-z]% は「a」から「z」までのすべての小文字を一致とみなします。%[abcx-z]% は「a」、「b」、「c」、「x」、「y」、「z」を一致とみなします。

  • {m, n}: m 以上の前の語句と一致し、n 回を超えることはありません。たとえば、%a{3,5}% は「aaa」、「aaaa」、「aaaaa」 のみを一致とみなします。

    注記

    最小値または最大値を定義しない場合、m と n のいずれかを省略できます。

  • |: 垂直バーのどちら側の語句と一致するブール値「Or」。たとえば、%gra|ey% は「gray」または「grey」を一致とみなします。

    注記

    語句とは、?*+{n,m} のいずれかの演算子を使用する単一文字または繰り返される文字クラスです。

  • \: 演算子の特殊な意味ではなく、文字通りの意味を使用できるようにするエスケープ文字。たとえば、「[a]」、「[b]」、「[7]」、「[@]」、「[]]」、「[ ]」などのように、括弧がエスケープされるため、%\[.\]%は「[」と「]」で囲まれたすべての 1 文字を一致とみなします。

    注記

    %10\.10\.0\.1% は、IP アドレス 10.10.0.1 を一致とみなす regex を作成する正しい方法です。

  • *: 前の期間の 0 個以上のインスタンスに一致します。たとえば、 %ab*c% は「ac」、「abc」、「abbbc」と一致できます。%ab[0-9]*% は「ab」、「ab0」、「ab129」を一致とみなします。

  • +: 前述の期間の 1 つ以上のインスタンスに一致します。たとえば、%ab+c%は「abc」、「abbc」、「abbbc」を一致とみなしますが、「ac」を一致とみなしません。

  • .: すべての 1 文字と一致します。たとえば、「hat」、「cat」、「bat」、「4at」、「#at」、「 at」 (先頭にスペース)を含め、%.at% は「at」で終わるすべての 3 文字の文字列を一致とみなします。

    注記

    IP アドレスと一致させる regex を作成するとき、. 演算子からエスケープすることが重要です。たとえば、%10.10.0.1% は「10010,051」を一致とみなしますが、これは表現の本来の用途とは異なる場合があります。

  • \d\D : 数字または数字以外の文字を一致とみなします。たとえば、%\d%%[0-9]% と同等であり、%\D%%[^0-9]% と同等です。

    注記

    大文字の演算子は、対応する小文字の逆を表します。

  • \s\S: 空白文字または非空白文字を一致とみなします。

    注記

    大文字の演算子は、対応する小文字の逆を表します。空白文字にはタブ (\t)、スペース ( )、改行 (\n)文字が含まれます。

  • \w\W: 英数字または非英数字と一致します。たとえば、%\w%%[a-zA-Z_0-9]% と同等であり、%\W%%[^a-zA-Z_0-9]% と同等です。

    注記

    大文字の演算子は、対応する小文字の逆を表します。

  • \xhh: 2 桁の 16 進文字の ASCII マッピングと一致します。\xは、次の文字が ASCII の 16 進値を表すことを示すエスケープ シーケンスです。hhは、ASCII 表の文字を指す 2 つの 16 進数字(0 ~ 9 と A 〜 F)を指定します。

    注記

    \xhh を使用してフィルターパターンでサポートされていない記号文字を一致とみなすことができます。たとえば、%\x3A%: を一致とみなし、%\x28%( を一致とみなします。

フィルターパターンを使用した正規表現 (regex) の語句の一致

% (regex パターン前後のパーセント記号)で囲まれた regex パターンを使用し、ログイベントの語句を一致とみなすことができます。次のコードスニペットでは、[許可された]キーワードで構成されているすべてのログイベントを返すフィルターパターンの例が示されています。

サポートされている正規表現のリストについては、「サポートされている正規表現」を参照してください。

%AUTHORIZED%

このフィルターパターンは、次のようなログイベントメッセージを返します。

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [SUCCESS 200] AUTHORIZED REQUEST

フィルターパターンを使用した非構造化ログイベントの語句の一致

次の例には、フィルターパターンを使用して非構造化ログイベントで語句をマッチさせる方法について示すコードスニペットが含まれています。

注記

フィルターパターンでは大文字と小文字が区別されます。英数字以外の文字を含む正確なフレーズと語句を、二重引用符 ([""]) で囲みます。

Example: Match a single term

次のコードスニペットは、メッセージに [ERROR] という単語が含まれるすべてのログイベントを返す単一の語句のフィルターパターンの例を示しています。

ERROR

このフィルターパターンは、次のようなログイベントメッセージを一致とみなします。

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match multiple terms

次のコードスニペットは、メッセージに ERRORARGUMENTS という単語が含まれるすべてのログイベントを返す複数の語句のフィルターパターンの例を示しています。

ERROR ARGUMENTS

フィルターは、次のようなログイベントメッセージを返します。

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

次のログイベントメッセージにはフィルターパターンで指定された語句が両方とも含まれないため、このフィルターパターンでは返されません。

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

Example: Match optional terms

パターン一致を使用し、オプション語句を含むログイベントを返すフィルターパターンを作成できます。照合する語句の前に疑問符 (「?」) を配置します。次のコードスニペットは、メッセージに ERROR または ARGUMENTS という単語が含まれるすべてのログイベントを返すフィルターパターンの例を示しています。

?ERROR ?ARGUMENTS

このフィルターパターンは、次のようなログイベントメッセージを一致とみなします。

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

注記

疑問符 (「?」) を他のフィルターパターン (「含む」や「除外」の条件など) 組み合わせることはできません 。「?」を他のフィルターパターンと組み合わせると、その疑問符 (「?」) は無視されます。

例えば、次のフィルターパターンは REQUEST という単語を含むすべてのイベントにマッチしますが、疑問符 (「?」) は無視され、何ら影響力を持ちません。

?ERROR ?ARGUMENTS REQUEST

ログイベントのマッチ

  • [INFO] REQUEST FAILED

  • [WARN] UNAUTHORIZED REQUEST

  • [ERROR] 400 BAD REQUEST

Example: Match exact phrases

次のコードスニペットは、メッセージに INTERNAL SERVER ERROR という正確なフレーズが含まれるログイベントを返すフィルターパターンの例を示しています。

"INTERNAL SERVER ERROR"

このフィルターパターンは、次のログイベントメッセージを返します

  • [ERROR 500] INTERNAL SERVER ERROR

Example: Include and exclude terms

メッセージにいくつかの語句が含まれるログイベントを返し、他の語句が除外されるフィルターパターンを作成できます。除外する語句の前にマイナス記号 ([「-」]) を配置します。次のコードスニペットは、メッセージに ERROR が含まれるログイベントを返し、ARGUMENTS という語句が除外されるフィルターパターンの例を示しています。

ERROR -ARGUMENTS

このフィルターパターンは、次のようなログイベントメッセージを返します。

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

次のログイベントメッセージには [引数] という単語が含まれているため、このフィルターパターンでは返されません。

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match everything

二重引用符で囲むことで、ログイベント内の完全一致を照合することができます。次のコードスニペットは、すべてのログイベントを返すフィルターパターンの例を示しています。

" "

フィルターパターンを使用した JSON ログイベントの語句の一致

次の内容では、文字列と数値を含む JSON 語句と一致するフィルターパターンの構文を式する方法について説明します。

Writing filter patterns that match strings

JSON ログイベントで文字列とマッチさせるフィルターパターンを作成できます。次のコードスニペットには、文字列ベースのフィルターパターンの構文例が示されています。

{ PropertySelector EqualityOperator String }

フィルターパターンを中括弧(「{}」)で囲みます。文字列ベースのフィルターパターンには、次の部分が含まれている必要があります。

  • [Property selector] (プロパティセレクタ)

    ドル記号の後にピリオド (「$.」) が付いたプロパティセレクタをオフに設定します。プロパティセレクタは英数字の文字列であり、ハイフン (「-」) およびアンダースコア (「_」) をサポートします。文字列は科学表記をサポートしていません。プロパティセレクタは、JSON ログイベントの値ノードを指します。値ノードには、文字列または数値を指定できます。プロパティセレクタの後に配列を配置します。配列内の要素は 0 から始まる番号付けシステムに従います。つまり、配列の最初の要素は要素 0、2 番目の要素は要素 1 というようになります。要素を角かっこ (「[]」) で囲みます。プロパティセレクターが配列またはオブジェクトを指定している場合、フィルターパターンはログ形式を一致とみなしません。JSON プロパティにピリオド (".") が含まれている場合は、そのプロパティを選択するためにブラケット表記を使用できます。

    注記

    [ワイルドカードセレクター]

    JSON ワイルドカードを使用し、任意の配列要素または JSON オブジェクトフィールドを選択できます。

    クォータ

    プロパティセレクターでは 1 つのワイルドカードセレクターしか使用できません。

  • 等値演算子

    等しい (「=」) または等しくない (「!=」) の記号のいずれかを使用して、等価演算子を区切ります。等値演算子は、ブール値 (true または false) を返します。

  • 文字列

    文字列は、二重引用符 ("") で囲むことができます。英数字とアンダースコア記号以外の種類を含む文字列は、二重引用符で囲む必要があります。アスタリスク (「*」) をワイルドカードとして使用して、テキストを照合します。

    注記

    JSON ログイベントの語句と一致するフィルターパターンを作成するとき、任意の条件付き正規表現を使用できます。サポートされている正規表現のリストについては、「サポートされている正規表現」を参照してください。

次のコードスニペットには、文字列を持った JSON 語句とマッチさせるためにフィルターパターンをフォーマットする方法を示すフィルターパターンの例が含まれています。

{ $.eventType = "UpdateTrail" }
Writing filter patterns that match numeric values

JSON ログイベントの数値と一致するフィルターパターンを作成できます。次のコードスニペットには、数値とマッチさせるフィルターパターンの構文例が示されています。

{ PropertySelector NumericOperator Number }

フィルターパターンを中括弧(「{}」)で囲みます。数値と一致するフィルターパターンには、次の部分が含まれている必要があります。

  • [Property selector] (プロパティセレクタ)

    ドル記号の後にピリオド (「$.」) が付いたプロパティセレクタをオフに設定します。プロパティセレクタは英数字の文字列であり、ハイフン (「-」) およびアンダースコア (「_」) をサポートします。文字列は科学表記をサポートしていません。プロパティセレクタは、JSON ログイベントの値ノードを指します。値ノードには、文字列または数値を指定できます。プロパティセレクタの後に配列を配置します。配列内の要素は 0 から始まる番号付けシステムに従います。つまり、配列の最初の要素は要素 0、2 番目の要素は要素 1 というようになります。要素を角かっこ (「[]」) で囲みます。プロパティセレクターが配列またはオブジェクトを指定している場合、フィルターパターンはログ形式を一致とみなしません。JSON プロパティにピリオド (".") が含まれている場合は、そのプロパティを選択するためにブラケット表記を使用できます。

    注記

    [ワイルドカードセレクター]

    JSON ワイルドカードを使用し、任意の配列要素または JSON オブジェクトフィールドを選択できます。

    クォータ

    プロパティセレクターでは 1 つのワイルドカードセレクターしか使用できません。

  • 数値演算子

    より大きい (「>」)、より小さい (「<」)、等しい (「=」)、等しくない (「! =」)、以上 (「>=」)、または以下 (「<=」) のいずれかの記号を使用して、数値演算子を区切ります。

  • 数値

    プラス (「+」) またはマイナス (「-」) 記号を含む整数を使用し、科学表記に従うことができます。アスタリスク (「*」) をワイルドカードとして使用して、数値を照合します。

次のコードス ニペットには、JSON 語句を数値をマッチさせるためにフィルターパターンをフォーマットする方法を示す例が含まれています。

// Filter pattern with greater than symbol { $.bandwidth > 75 } // Filter pattern with less than symbol { $.latency < 50 } // Filter pattern with greater than or equal to symbol { $.refreshRate >= 60 } // Filter pattern with less than or equal to symbol { $.responseTime <= 5 } // Filter pattern with equal sign { $.errorCode = 400} // Filter pattern with not equal sign { $.errorCode != 500 } // Filter pattern with scientific notation and plus symbol { $.number[0] = 1e-3 } // Filter pattern with scientific notation and minus symbol { $.number[0] != 1e+3 }

次の例には、フィルターパターンが JSON ログイベントの語句をマッチさせる方法について示すコードスニペットが含まれています。

注記

例の JSON ログイベントを使用して例のフィルターパターンをテストする場合、例の JSON ログを 1 行で入力する必要があります。

[JSON ログイベント]

{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ { "name": "a", "id": 1 }, { "name": "b", "id": 2 } ], "SomeObject": null, "cluster.name": "c" }
Example: Filter pattern that matches string values

このフィルターパターンは、プロパティ "eventType" の文字列 "UpdateTrail" と一致します。

{ $.eventType = "UpdateTrail" }
Example: Filter pattern that matches string values (IP address)

このフィルターパターンは、プレフィックス "123.123." が付いた数字が含まれていないため、ワイルドカードが含んでおり、プロパティ"sourceIPAddress" を一致とみなします。

{ $.sourceIPAddress != 123.123.* }
Example: Filter pattern that matches a specific array element with a string value

このフィルターパターンは、配列 "arrayKey" の要素 "value" と一致します。

{ $.arrayKey[0] = "value" }
Example: Filter pattern that matches a string using regex

このフィルターパターンは、プロパティ "eventType" の文字列 "Trail" と一致します。

{ $.eventType = %Trail% }
Example: Filter pattern that uses a wildcard to match values of any element in the array using regex

フィルターパターンには、配列 "arrayKey" の要素 "value" と一致する regex が含まれています。

{ $.arrayKey[*] = %val.{2}% }
Example: Filter pattern that uses a wildcard to match values of any element with a specific prefix and subnet using regex (IP address)

このフィルターパターンには、プロパティ "sourceIPAddress" の要素 "111.111.111.111" と一致する regex が含まれています。

{ $.* = %111\.111\.111\.1[0-9]{1,2}% }
注記

クォータ

プロパティセレクターでは 1 つのワイルドカードセレクターしか使用できません。

Example: Filter pattern that matches a JSON property with a period (.) in the key
{ $.['cluster.name'] = "c" }
Example: Filter pattern that matches JSON logs using IS

IS 変数で JSON ログのフィールドと一致するフィルターパターンを作成できます。IS 変数は、値 NULLTRUE または FALSE を含むフィールドと一致させることができます。次のフィルターパターンでは、SomeObject の値が NULL の場合、JSON ログが返されます。

{ $.SomeObject IS NULL }
Example: Filter pattern that matches JSON logs using NOT EXISTS

NOT EXISTS 変数を使用してフィルターパターンを作成し、ログデータに特定のフィールドを含まない JSON ログを返すことができます。次のフィルターパターンでは、NOT EXISTS を使用してフィールド SomeOtherObject を含まない JSON ログを返します。

{ $.SomeOtherObject NOT EXISTS }
注記

変数 IS NOT および EXISTS は現在サポートされていません。

論理演算子 AND (「&&」) と OR (「||」) をフィルターパターンで使用し、2 つ以上の条件が真であるログイベントをマッチさせる複合式を作成できます。複合式では、かっこ (「()」) の使用と、次の標準的な演算順序 (() > && > ||) がサポートされます。次の例には、JSON オブジェクトの語句とマッチさせるための複合式を持ったフィルターパターンを使用する方法について示すコードスニペットが含まれています。

[JSON オブジェクト]

{ "user": { "id": 1, "email": "John.Stiles@example.com" }, "users": [ { "id": 2, "email": "John.Doe@example.com" }, { "id": 3, "email": "Jane.Doe@example.com" } ], "actions": [ "GET", "PUT", "DELETE" ], "coordinates": [ [0, 1, 2], [4, 5, 6], [7, 8, 9] ] }
Example: Expression that matches using AND (&&)

このフィルターパターンには、"user""id"1 の数値とマッチし、文字列 "John.Doe@example.com" を使用して "users" 配列の最初の要素にある "email" とマッチする複合式が含まれています。

{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }
Example: Expression that matches using OR (||)

このフィルターパターンには、"user""email" を文字列 "John.Stiles@example.com" とマッチさせる複合式が含まれています。

{ $.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch" && $.actions[2] = "nonmatch" }
Example: Expression that doesn't match using AND (&&)

このフィルターパターンには、式が "actions" の第 3 アクションとマッチしないため、一致が見つからない複合式が含まれています。

{ ($.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch") && $.actions[2] = "nonmatch" }
注記

クォータ

プロパティセレクターではワイルドカードセレクターを 1 つしか使用できません。また、複合式を含むフィルターパターンでは最大 3 つのワイルドカードセレクターを使用することができます。

Example: Expression that doesn't match using OR (||)

このフィルターパターンには、式が "users" の最初のプロパティまたは"actions"の第 3 アクションと一致しないため、一致が見つからない複合式が含まれています。

{ ($.user.id = 2 && $.users[0].email = "nonmatch") || $.actions[2] = "GET" }

フィルターパターンを使用したスペース区切りのログイベントでの語句の一致

フィルターパターンを作成し、スペース区切りのログイベントで語句を一致させることができます。次の内容では、スペース区切りのログイベントの例を示し、スペース区切りのログイベントで語句を一致するフィルターパターンの構文を式する方法について説明します。

注記

スペース区切りのログイベントで語句を一致するフィルターパターンを作成するとき、任意の条件付正規表現を使用できます。サポートされている正規表現のリストについては、「サポートされている正規表現」を参照してください。

Example: Space-delimited log event

次のコードスニペットは、7 つのフィールド (ipuserusernametimestamprequeststatus_code、および bytes) を含むスペース区切りログイベントを示しています。

127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
注記

角かっこ (「[]」) と二重引用符 ("") の間の文字は、単一フィールドと見なされます。

Writing filter patterns that match terms in a space-delimited log event

スペース区切りのログイベントで語句を一致するフィルターパターンを作成するには、フィルターパターンを括弧(「[]」)で囲み、カンマ(「,」)で区切られた名前でフィールドを指定します。次のフィルターパターンは 7 つのフィールドを解析します。

[ip=%127\.0\.0\.[1-9]%, user, username, timestamp, request =*.html*, status_code = 4*, bytes]

数値演算子 (>、<、=、!=、>=、<=) とアスタリスク (*) をワイルド カードまたは regex として使用し、フィルターパターン条件を指定できます。フィルターパターンの例では、ip は 127.0.0.1~127.0.0.9 の IP アドレス範囲に一致する regex を使用し、request.html の値を抽出する必要があることを示すワイルドカードが含まれ、status_code4 で始まる値を抽出する必要があることを示すワイルドカードが含まれています。

スペース区切りログイベントで解析するフィールドの数がわからない場合は、省略記号 (...) を使用して名前のないフィールドを参照できます。省略記号を使用すると、必要な数のフィールドを参照できます。次の例には、前のフィルターパターンの例で示された最初の 4 つの無名フィールドを表す省略記号を使用するフィルターパターンが示されています。

[..., request =*.html*, status_code = 4*, bytes]

論理演算子 AND (&&) と OR (||) を使用して複合式を作成することもできます。次のフィルターパターンには、status_code の値が 404 または 410 である必要があることを示す複合式が含まれています。

[ip, user, username, timestamp, request =*.html*, status_code = 404 || status_code = 410, bytes]

パターンマッチングを使用し、特定の順序で語句を一致するスペース区切りのフィルターパターンを作成できます。インジケーターを使用して語句の順序を指定します。[w1] を使用して最初の語句を表し、次に [w2] などを使用して、その後の語句の順序を表します。語句の間にカンマ (「,」) を入力します。次の例には、スペース区切りのフィルターパターンでパターンマッチングを使用する方法について示すコードスニペットが含まれています。

注記

スペース区切りのログイベントで語句を一致するフィルターパターンを作成するとき、任意の条件付正規表現を使用できます。サポートされている正規表現のリストについては、「サポートされている正規表現」を参照してください。

[スペース区切りのログイベント]

INFO 09/25/2014 12:00:00 GET /service/resource/67 1200 INFO 09/25/2014 12:00:01 POST /service/resource/67/part/111 1310 WARNING 09/25/2014 12:00:02 Invalid user request ERROR 09/25/2014 12:00:02 Failed to process request
Example: Match terms in order

次のスペース区切りのフィルターパターンは、ログイベントの最初の単語が[エラー] であるログイベントを返します。

[w1=ERROR, w2]
注記

パターンマッチングを使用するスペース区切りのフィルターパターンを作成するとき、語句の順序を指定した後に空白のインジケーターを含める必要があります。たとえば、最初の単語が [エラー] であるログイベントを返すフィルターパターンを作成する場合、[w1] 語句の後に空白の [w2] インジケーターを含めます。

Example: Match terms with AND (&&) and OR (||)

論理演算子 AND (「&&」) と OR (「||」) を使用し、条件を含むスペース区切りのフィルターパターンを作成できます。次のフィルターパターンは、イベントの最初の単語が[エラー] または [警告] であるログイベントを返します。

[w1=ERROR || w1=WARNING, w2]
Example: Exclude terms from matches

1 つ以上の語句を除外するログイベントを返すスペース区切りのフィルターパターンを作成できます。除外する語句の前に等しくないの記号 (「!=」) を配置します。次のコードスニペットは、最初の単語が [エラー][警告] ではないログイベントを返すフィルターパターンの例を示しています。

[w1!=ERROR && w1!=WARNING, w2]
Example: Match the top level item in a resource URI

次のコードスニペットは、regex を使用してリソース URI の最上位の項目を一致するフィルターパターンの例を示しています。

[logLevel, date, time, method, url=%/service/resource/[0-9]+$%, response_time]
Example: Match the child level item in a resource URI

次のコードスニペットは、regex を使用してリソース URI の子レベルの項目を一致するフィルターパターンの例を示しています。

[logLevel, date, time, method, url=%/service/resource/[0-9]+/part/[0-9]+$%, response_time]