このインタラクティブなチュートリアルでは、Chrome DevTools コンソールでメッセージを記録し、フィルタする方法を説明します。
このチュートリアルは順番どおりに完了することを目的としています。また、JavaScript を使用してページにインタラクティビティを追加するなど、ウェブ開発の基礎を理解していることを前提としています。
デモと DevTools を設定する
このチュートリアルは、ユーザーがデモを開いてすべてのワークフローをご自身で試すことができるように設計されています。実際にやってみると、後でワークフローを思い出せる可能性が高くなります。
- デモを開きます。
省略可: デモを別のウィンドウに移動します。この例では、左側がチュートリアル、右側がデモです。
デモをフォーカスし、Ctrl+Shift+J キーまたは command+option+J(Mac)を押して DevTools を開きます。デフォルトでは、DevTools はデモの右側に開きます。
省略可: DevTools をウィンドウの下部に固定するか、別のウィンドウにドッキング解除します。
DevTools をデモの下部に固定します。
DevTools が別のウィンドウでホルダーから外され、
JavaScript からログに記録されたメッセージを表示する
コンソールに表示されるほとんどのメッセージは、ページの JavaScript を作成したウェブ デベロッパーからのものです。このセクションの目標は、コンソールに表示される可能性のあるさまざまなメッセージ タイプを紹介し、独自の JavaScript を使用して各メッセージ タイプを自分でロギングする方法を説明することです。
デモの [ログ情報] ボタンをクリックします。
Hello, Console!
がコンソールに記録されます。コンソールで、
Hello, Console!
メッセージの横にある log.js:2 をクリックします。[Sources] パネルが開き、メッセージがコンソールにロギングされる原因となったコード行がハイライト表示されます。ページの JavaScript が
console.log('Hello, Console!')
を呼び出したときにメッセージがログに記録されました。次のいずれかのワークフローを使用してコンソールに戻ります。
- [コンソール] タブをクリックします。
- コンソールがフォーカスされるまで、Ctrl+[ キーまたは Command+[ キー(Mac)を押します。
- コマンド メニューを開き、「
Console
」と入力し、[Show Console Panel] コマンドを選択して、Enter キーを押します。
デモの [Log Warning] ボタンをクリックします。
Abandon Hope All Ye Who Enter
がコンソールに記録されます。このような形式のメッセージは警告です。
省略可: [log.js:12] をクリックして、このようなメッセージが表示される原因となったコードを表示し、終了したら [コンソール] に戻ります。メッセージを特定の方法でログに記録する原因となったコードを確認する場合は、いつでもこの操作を行います。
Abandon Hope All Ye Who Enter
の前にある開くアイコン をクリックします。DevTools に、呼び出しに至るまでのスタック トレースが表示されます。スタック トレースから、
logWarning
という名前の関数が呼び出され、その後quoteDante
という名前の関数が呼び出されたことがわかります。つまり、最初に発生した呼び出しはスタック トレースの一番下にあります。console.trace()
を呼び出すことで、いつでもスタック トレースをログに記録できます。[エラーをログに記録] をクリックします。次のエラー メッセージがログに記録されます。
I'm sorry, Dave. I'm afraid I can't do that.
[Log Table] をクリックします。有名なアーティストに関するテーブルがコンソールに記録されます。
birthday
列に 1 行しか入力されていないことに注目してください。その理由については、コードを確認してください。[ロググループ] をクリックします。有名な犯罪戦闘用の 4 匹のカメの名前は
Adolescent Irradiated Espionage Tortoises
ラベルでグループ化されています。[カスタムを記録] をクリックします。赤色の枠線と青色の背景を持つメッセージがコンソールに記録されます。
主な考え方は、JavaScript からコンソールにメッセージを記録する際は、console
メソッドの 1 つを使用するということです。メソッドごとにメッセージのフォーマットが異なります。
このセクションで説明したもの以外にも、さまざまなメソッドがあります。チュートリアルの最後に、残りのメソッドを確認する方法を学びます。
ブラウザでログに記録されたメッセージを表示する
また、ブラウザはコンソールにメッセージを記録します。これは通常、ページに問題がある場合に発生します。
[Cause 404] をクリックします。ページの JavaScript が存在しないファイルを取得しようとしたため、ブラウザで
404
ネットワーク エラーが記録されます。[エラーの原因] をクリックします。JavaScript が、存在しない DOM ノードを更新しようとしているため、ブラウザは捕捉されなかった
TypeError
をログに記録します。[Log Levels] プルダウンをクリックし、[Verbose] オプションが無効になっている場合は有効にします。フィルタリングの詳細については、次のセクションで説明します。この操作は、次にログに記録するメッセージを表示するために必要です。注: [Default Levels] プルダウンが無効になっている場合は、コンソール サイドバーを閉じる必要がある場合があります。コンソール サイドバーの詳細については、以下の [メッセージ ソース] でフィルタしてください。
[違反の原因] をクリックします。ページが数秒間応答しなくなり、ブラウザからコンソールに
[Violation] 'click' handler took 3000ms
というメッセージが記録されます。正確な期間は異なる場合があります。
メッセージをフィルタする
一部のページでは、コンソールに大量のメッセージが表示されることがあります。DevTools には、現在のタスクに関係のないメッセージを除外するさまざまな方法が用意されています。
ログレベルでフィルタ
各 console.*
メソッドには、Verbose
、Info
、Warning
、Error
のいずれかの重大度が割り当てられます。たとえば、console.log()
は Info
レベルのメッセージですが、console.error()
は Error
レベルのメッセージです。
ログレベルでフィルタするには:
[ログレベル] プルダウンをクリックし、[エラー] を無効にします。レベルの横にチェックマークがなくなると、そのレベルは無効になります。
Error
レベルのメッセージが表示されなくなります。[ログレベル] プルダウンをもう一度クリックして、[エラー] を再度有効にします。
Error
レベルのメッセージが再表示されます。
テキストでフィルタ
正確な文字列を含むメッセージのみを表示するには、その文字列を [フィルタ] テキスト ボックスに入力します。
[フィルタ] テキスト ボックスに「
Dave
」と入力します。文字列Dave
を含まないメッセージはすべて非表示になります。Adolescent Irradiated Espionage Tortoises
ラベルが表示される場合もあります。それはバグですね。[フィルタ] テキスト ボックスから
Dave
を削除します。すべてのメールが再表示されます。
正規表現でフィルタする
特定の文字列ではなく、テキスト パターンを含むすべてのメッセージを表示するには、正規表現を使用します。
[フィルタ] テキスト ボックスに「
/^[AH]/
」と入力します。このパターンを RegExr に入力して、処理の説明を表示します。[フィルタ] テキスト ボックスから
/^[AH]/
を削除します。すべてのメッセージが再び表示されます。
メッセージ ソースでフィルタ
特定の URL から送信されたメッセージのみを表示する場合は、サイドバーを使用します。
[コンソール サイドバーを表示] をクリックします。
[12 Messages] の横にある [Expand] アイコンをクリックします。[サイドバー] には、メッセージがログに記録された URL のリストが表示されます。たとえば、
log.js
によって 11 件のメッセージが生成されました。
ユーザー メッセージでフィルタ
先ほど [ログ情報] をクリックすると、メッセージをコンソールに記録するために console.log('Hello, Console!')
というスクリプトが起動されました。このような JavaScript からログに記録されるメッセージは、ユーザー メッセージと呼ばれます。一方、[原因 404] をクリックすると、ブラウザは、リクエストされたリソースが見つからなかったことを示す Error
レベルのメッセージを記録しました。このようなメッセージはブラウザ メッセージとみなされます。サイドバーを使用して、ブラウザのメッセージを除外し、ユーザー メッセージのみを表示できます。
[9 User Messages] をクリックします。ブラウザのメッセージは表示されません。
[12 メッセージ] をクリックすると、すべてのメールが表示されます。
他のパネルと一緒にコンソールを使用する
スタイルを編集しているときに、コンソール ログをすばやく確認する必要がある場合はどうすればよいでしょうか。ドロワーを使用します。
- [要素] タブをクリックします。
Esc キーを押します。[ドロワー] の [Console] タブが開きます。この API には、このチュートリアルを通じて使用したコンソールのすべての機能が含まれています。
次のステップ
これでチュートリアルは完了です。[Dispense Trophy] をクリックしてトロフィーを受け取ります。
- コンソール UI に関連するその他の機能とワークフローについては、コンソール リファレンスをご覧ください。
- JavaScript からログに記録されたメッセージを表示するで紹介したすべての
console
メソッドについて詳しくは、コンソール API リファレンスをご覧ください。また、このチュートリアルでは取り上げられていない他のconsole
メソッドもご覧ください。 - DevTools で他にどのようなことができるのか、スタートガイドをご覧ください。
- すべての
console
の形式とスタイル設定方法について詳しくは、コンソールでメッセージの書式とスタイル設定を行うをご覧ください。