single.php

Chrome 拡張機能で background.js からのログ出力をIIS(ASP.NET)で受け取る方法

Google Chromeの拡張機能で、background.js などのServiceWorkerのスクリプトからログ出力を、IIS(ASP.NET)で受け取る方法について備忘録的に投稿しておきます。

IISにはASP.NETが必要

PHPなどがインストールされている場合を除いて、IISでJavaScriptなどのスクリプトからの出力を受け取るには、ASP.NETが必要になります。

IISにASP.NETを追加するには[Windowsの機能|Windowsの機能の有効化または無効化]画面で行います。

追加した後で、仮想ディレクトリに次のコードを追加したファイルを配置します。

[C:\wwwroot\log\_log.aspx]
<%@ Page Language="C#" %>
<%
  string msg = Request.QueryString["msg"];
  string path = Server.MapPath("~/log/log.txt");

  System.IO.File.AppendAllText(path,
    DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + msg + "\n");
%>

Chrome 拡張機能の[background.js]からは、こんな感じで呼び出します。

const sendLog = async (msg) => {
  try {
    await fetch("http://localhost/log/_log.aspx?msg=" + encodeURIComponent(msg), { method: "GET", mode: "no-cors" });
  } catch (e) {
    console.error("ログ送信失敗", e);
  }
};

実際に出力するコードからは、sendLog を呼び出します。

sendLog("ログ出力開始");

実行すると、IISの[_log.aspx]と同じフォルダーに[log.txt] が出力され、ログが記録されています。

2026-07-07 16:05:01 ログ出力開始

まとめ

今回は、Google Chromeの拡張機能で、background.js などのServiceWorkerのスクリプトからログ出力を、IIS(ASP.NET)で受け取る方法について書きました。

拡張機能からログなど連続的にテキストファイルを出力するのは難しいですが、ウェブサーバーを利用すると比較的簡単にログを記録することが可能です。

Windowsで標準でインストール可能なIISとASP.NETでも簡単に出力を受け取り、テキストファイルに保存ができます。

Google Chromeの拡張機能で、background.js などのスクリプトからのログ出力をIIS(ASP.NET)で受け取りたい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただきありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です