基本的なログクエリ

このガイドでは、ログビューア(従来版)の基本クエリ インターフェースを使用して、ラベルまたはテキスト検索でログエントリをクエリする方法を説明します。ログビューア(従来版)を使用した高度なログクエリ オプションについては、高度なログクエリをご覧ください。

ログエントリをエクスポートする場合は、ログビューアによるエクスポートをご覧ください。API を使用してログエントリを読み取る方法については、entries.list をご覧ください。SDK を使用してログエントリを読み取る方法については、ログエントリの読み取りをご覧ください。

基本的なクエリのスタートガイド

  1. Cloud Console で Google Cloud のオペレーション スイートの [Logging] > [ログ](ログビューア)ページに移動します。

    ログビューア ページに移動

  2. ページの上部にある既存の Google Cloud プロジェクトを選択します。

  3. プルダウン メニューを使用して、ログを表示するリソースを選択します。

次のスクリーンショットは、基本的なクエリ インターフェースを示しています。App Engine アプリケーションからの 4 つのログエントリが表示されています。展開矢印 がクリックされ、2 番目のエントリが展開されています。

基本的なログクエリのオプションを示すユーザー インターフェース。

スクリーンショットに赤い数字で示されている、基本的なクエリ インターフェースの主な構成要素は次のとおりです。一部の要素は高度なクエリ インターフェースにも表示されます。

  1. ウィンドウタブでは、ログ(ログビューア)、指標ログベースの指標を参照)、[エクスポート](ログのエクスポートを参照)、[ログの取り込み](ログの除外を参照)を選択できます。
  2. 基本ログクエリ インターフェースの検索クエリボックスでは、ラベルまたはテキスト検索でログエントリをクエリできます。基本クエリ インターフェースが表示され、プルダウン メニュー を使用すると、高度なクエリ インターフェースに切り替えられます。自分のクエリへのリンクも表示できます。ログクエリは、ログエントリの特定のセットを選択できるようになっているため、ユーザー インターフェースでは「フィルタ」のラベルが付いています。
  3. 基本セレクタ メニューでは、表示するリソース、ログ、重大度レベルを選択できます。

    • リソース: 現在のプロジェクトで使用できるリソース。
    • ログ: プロジェクト内の現在のリソースで使用できるログの種類。
    • ログの重大度: ログの重大度レベル。
  4. 期間セレクタのプルダウン メニューでは、特定の日時でもログをクエリできます。

  5. ページの先頭にあるストリーミング セレクタでは、新しいログエントリを受信時に表示するかどうかを制御できます。

  6. ログエントリ テーブルには、現在のクエリとカスタム フィールドに応じて利用可能なログエントリが表示されます。

  7. 各ログエントリの前にある展開矢印 を使用すると、エントリの全内容を見ることができます。詳しくは、ログエントリの展開をご覧ください。

  8. [表示設定] メニューには、その他の表示オプションがあります。

  9. [ログをダウンロード] メニューでは、一連のログエントリをダウンロードできます。

  10. 各ログエントリに表示される [その他] を使用すると、ログエントリを固定する、リソース コンテキスト内でログエントリを表示する、ログエントリの URL をクリップボードにコピーするといった操作を行えます。

ログビューアでは、カーソル位置に基づいて関連するログエントリがハイライト表示され、[その他] の横に押しピン(📌)アイコンが表示されます。

基本的な検索

基本クエリ インターフェースで、検索クエリボックスにテキストを入力し、Enter キーを押します。任意のフィールド(ただし timestamp を除く)に検索キーワードを含むすべてのログエントリを返します。大文字と小文字の区別はされません。ログビューアによって検索キーワードの前に追加される text: という単語は、「すべてのフィールド」検索を示します。

以下に、一般的な検索例、実際の動作が予想とは異なる検索例をいくつか示します。

基本的な検索の一般的な例

Unicorntext:Unicorn

任意のフィールドに unicorn を含むすべてのログエントリを検索します。大文字と小文字は区別されません。

unicorn phoenixtext:unicorn text:phoenix

同じまたは異なるフィールドに unicorn または phoenix を含むすべてのログエントリを検索します。両方のキーワードを含むエントリを検索する場合は、高度なクエリ インターフェースを使用します。

"unicorn phoenix"text:"unicorn phoenix"

1 つのフィールドに unicorn および phoenix を含むすべてのログエントリを検索します。大文字と小文字は区別されず、スペース 1 つで区切られているもののみが該当します。基本ログ クエリ インターフェースでは同一フィールド内のどこかにある「unicorn および phoenix」という文字列を検索できませんが、高度なクエリ インターフェースでは検索できます。

-unicorn-text:unicorn

任意のフィールドに unicorn を含むすべてのログエントリを検索し(大文字と小文字は区別されません)、表示されるエントリから除外します。基本ログ クエリ インターフェースでは、同じフィールドまたは異なるフィールドにある「-unicorn および -phoenix」という文字列を検索できませんが、高度なログ クエリ インターフェースでは検索できます。

2345text:2345

文字列 2345 を含むすべてのログエントリを検索します。ログエントリ内の数値は文字列として示されるのが一般的であるため、この文字列は、たとえば 123456 にも一致します。

実際の動作が予想とは異なる検索例

uni*text:uni*
これは正規表現のワイルドカード検索ではありません。この場合、4 文字の文字列 "uni*" を含むすべてのログエントリが検索されます。なお、基本クエリ インターフェースでは正規表現検索を行えず、*? などの特殊なワイルドカード文字は適用できません。高度なクエリ インターフェースで正規表現を使用する場合は、正規表現を使用したエントリのクエリをご覧ください。
2017-02-05text:2017-02-05
これは、ログエントリのタイムスタンプと一致しません。この場合、timestamp を除くいずれかのフィールドに文字列 2017-02-05 を含む、すべてのログエントリが検索されます。ログエントリのペイロードやその他のフィールドに日付を表す文字列を含む場合、それらの文字列を検索することは可能です。また、[Jump to date] メニューも使用できます。高度なログクエリ インターフェースでは、タイムスタンプの範囲を指定して検索できます。
200..299text:200..299
これは、250 と一致しません。基本クエリ インターフェースの検索では、8 文字の文字列 "200..299" を含むログエントリが検索されます。このような範囲表記は、整数フィールドの検索でのみ可能です。このページの特定のフィールドを検索するをご覧ください。
unicorn NOT phoenixtext:unicorn text:NOT text:phoenix
unicorn OR phoenixtext:unicorn text:OR text:phoenix
これらは、ブール演算子(AND、OR、NOT、AND NOT)が基本ログクエリのテキスト検索で使用できないことから、ブールテキスト検索ではありません。複数のテキストの検索キーワードを含めると、それらのキーワードは暗黙的に OR で結合されます。ブール演算子 NOT の代わりに -(マイナス)演算子を使用できます。詳しくは、このページの基本的な検索の一般的な例をご覧ください。

特定のフィールドを検索する

特定のフィールドだけを検索するには、検索キーワードの前にフィールド名とコロンを指定します。すべてのフィールドの検索では、フィールド名は text: に置き換えられます。検索クエリボックスに文字を入力すると、一致するフィールドのリストが表示されます。

一致するフィールドを示す検索クエリボックス。

以下の例では、status: は整数の HTTP ステータス コード、path: はリクエスト内の HTTP パスです。

path:query
大文字と小文字は区別されず、HTTP パスに query を含むログエントリを検索します。例: /query/App/Query/17
path:*
path フィールドを持つログエントリを検索します。この検索では、アスタリスク(*)を特殊文字として特別に使用します。これ以外の検索では、一般に特殊文字として扱われません。
status:200
ステータスが 200 のログエントリのみ表示します。この検索でステータスが 2000 のものは一致しません。status は整数フィールドとして認識され、数値の比較が行われるためです。
status:abc
status は整数として認識されるため、これは無効です。
status:400..499
HTTP ステータスが 400~499 のログエントリを検索します。範囲は、整数として認識されるフィールドに対してのみ使用できます。それ以外のフィールドに対して範囲を指定した場合、範囲ではなく . という文字を含む 1 つの文字列とみなされます。
path:query unicorn
path フィールドに query を含み、かついずれかのフィールドに unicorn を含むログエントリを検索します。unicorn の前にフィールド名の指定がないため、text:unicorn と入力した場合と同じ検索が行われます。複数の異なるフィールドまたはフィールドと text: に対して複数の検索キーワードを指定すると、キーワードは暗黙的に AND で結合されます。
path:query path:status
path フィールドに query または status を含むログエントリを検索します。同一のフィールドに対して複数の検索キーワードを指定すると、キーワードは暗黙的に OR で結合されます。
path:query status:200 path:status status:500..502
path に query または status を含み、かつ status の値が 200、500、501、または 502 であるログエントリを検索します。つまり、OR の結合のほうが AND の結合よりも厳しく、検索キーワードの順序は重要でないということです。

トラブルシューティング

基本クエリ インターフェースで検索できない理由がわからない場合は、一時的に高度なクエリ インターフェースに切り替えます。

  1. 検索クエリボックスにあるプルダウン メニュー を使用して [高度なフィルタに変換] を選択します。

  2. 検索クエリボックスの内容が意図に合っているかどうかを確認します。

  3. ブラウザの戻るボタンを使用して、基本クエリ インターフェースに戻ります。このオプションを選択すると、基本クエリ インターフェースの以前の選択内容に戻ります。

  4. ステップ 2 でクエリが意図と異なっていた場合は、検索クエリボックス、基本セレクタ メニュー、期間セレクタ メニューで変更または消去できます。

必要なログエントリがすべて表示されない理由は他にもいくつかあります。

  • Logging の保持期間を超過したログエントリは表示されません。有効なログの保持期間については、ログの保持期間をご覧ください。

  • 負荷が高くなっている場合、Logging へのログの送信やログの受信と表示に遅延が生じることがあります。

  • 未来のタイムスタンプを持つログエントリは、現在の時刻がタイムスタンプに「追いつく」までログビューアに表示されません。これはまれにしか発生しない状況です。ログを送信しているアプリケーションの時刻がずれているためだと考えられます。