MSEdge Blog Explained with GitHub Copilot

daisuke @dai@hackers.pub

会話ログ

日付と時間

UTC: 2025-04-25 01:17:11

ユーザー

ログイン名: dai


ユーザーの質問

これを解説して

The following references were attached as context:

The user is currently located in a GitHub repository, but possibly a sub-directory of that GitHub repository. Their current URL can tell you specifically, but included is some information about the languages and repository itself.
repo: MicrosoftEdge/MSEdgeExplainers
repo ID: 160596188
The description for this repo is Home for explainer documents originated by the Microsoft Edge team.
The language composition of this repo is [{"name":"HTML","percent":91.1},{"name":"JavaScript","percent":6.4},{"name":"WebIDL","percent":1.4},{"name":"CSS","percent":1.1}]

File path: ContextualLoggingWithConsoleContext/explainer.md
Source URL: https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/ContextualLoggingWithConsoleContext/explainer.md
Repo: MicrosoftEdge/MSEdgeExplainers
CommitOID: 691d48938a001118083395e0486065d32e17ac60

# DevTools contextual logging with `console.context()`

## Authors

 - *[Leah Tu](https://github.com/leahmsft)*, Microsoft Edge
 - *[Patrick Brosset](https://github.com/captainbrosset)*, Microsoft Edge

## Participate

- For feedback about this explainer, open [an issue on the MSEdgeExplainers repo](https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/new?template=contextual-logging-with-console-context.md).
- The expected venue for this is the [Console spec](https://console.spec.whatwg.org/). For feedback about the spec changes, see [console.context()](https://github.com/whatwg/console/issues/193) on the[...]

## Table of Contents

* [Status of this feature](#status-of-this-feature)
* [Introduction](#introduction)
* [User-facing problem](#user-facing-problem)
* [Goals](#goals)
   * [Non-goals](#non-goals)
* [Proposed approach](#proposed-approach)
  * [Current experience in Chromium](#current-experience-in-chromium)
  * [Proposed improvements](#proposed-improvements)
    * [Changes to the `console.context()` method](#changes-to-the-consolecontext-method)
    * [Changes to the Console tool UI](#changes-to-the-console-tool-ui)
* [Alternatives considered](#alternatives-considered)
* [Accessibility, privacy, and security considerations](#accessibility-privacy-and-security-considerations)
* [Stakeholder feedback / opposition](#stakeholder-feedback--opposition)
* [References & acknowledgements](#references--acknowledgements)

## Status of this feature

An initial version of this feature has been available in [Chromium](https://chromium-review.googlesource.com/c/v8/v8/+/522128) since 2017, and Microsoft Edge starting with version 79. This explainer p[...]
...

AIの回答

このドキュメントは、Microsoft Edgeチームによる「console.context()」を使ったDevToolsのコンテキストログ機能の改善についての説明資料です。以下に主な内容を簡単に解説します。


1. 概要

  • 目的: 大規模なウェブアプリケーションのデバッグプロセスを向上させる。
  • 手段: Chromiumのconsole.context()メソッドを改良し、DevToolsのコンソールUIにおけるフィルタリング機能を強化する。

2. 課題

大規模なウェブアプリでは、多くのログメッセージが出力されるため、必要な情報を見つけるのが困難です。現在の課題には以下があります:

  • console.group()の使用は手間がかかり、意図しないログが混ざる可能性がある。
  • ログに名前を付けてプレフィックスを追加する方法はエラーを引き起こしやすく、メンテナンスも必要。

3. 目標

  • デバッグの効率化: コンテキストベースでフィルタリングを行い、多数のログから必要なものを素早く見つけられるようにする。
  • コンソールの可読性向上: 異なるコンテキストのログを視覚的に区別しやすくする。
  • 開発者の負担軽減: カスタムロガーを作成する必要をなくす。

4. 提案の詳細

console.context()メソッドの改善
  • 第二引数としてオプションのcolorを追加。
    const myLogger = console.context("app", { color: "lemonchiffon" });
  • デフォルトではランダムな色が割り当てられ、ログが視覚的に区別されるようになる。
コンソールUIの改善
  1. コンテキストバッジ表示:
    • ログメッセージにコンテキスト名と色を示すバッジを追加。
    • バッジは背景色ではなく、ラベルに色付けすることで視認性を向上。
  2. 新しいフィルタリングUI:
    • コンソールのサイドバーに新しいコンテキストフィルタを追加。
    • 開発者はコンテキスト名をクリックして、特定のログだけを表示可能。

5. 代替案

  • 現行のconsole.context()を維持する(色指定なし)。
  • %cフォーマットを使ってログのスタイルを変更する。
  • バッジを塗りつぶしではなく、枠線のみで表示する。

6. アクセシビリティ

  • ユーザーが指定した色についてはアクセシビリティ対応を行わない。
  • 自動割り当て色については、十分なコントラスト比を確保。

この提案は、特に大規模なウェブアプリケーションのデバッグにおける効率向上を目指しており、開発者やブラウザベンダーからもポジティブなフィードバックを受けています。

Read more →
1