Skip to content

ADM-014 デバッグログ管理画面

概要

  • WordPress の debug.log をサーバーへ SSH 接続せずに確認できるようにするための管理画面。
  • 管理画面内で 最新ログの閲覧 / キーワード絞り込み / ファイルダウンロード を提供する。
  • 危険操作を避けるため、本画面の初期スコープは「閲覧専用(削除は行わない)」とする。
  • ツールメニュー配下のサブメニューとして登録する。

ワイヤーフレーム

画面仕様

ブロック一覧

ブロックIDブロック名表示内容初期値ユーザー操作アクション
B-1状態表示ファイル存在、最終更新時刻、サイズ、総行数を表示。画面表示時に取得した最新状態。--
B-2フィルタキーワード、日付範囲、表示件数を入力するフォーム。キーワード空、期間未指定、100件。値を入力し、適用またはリセットする。REQ-001
B-3操作再読込ボタン、ダウンロードボタン。常に表示。ボタン押下でログ再取得またはファイルDLを実行。REQ-002/3
B-4ログ表示領域1行単位のログ表示(ページング対応)。最新100行。スクロールして内容確認、ページ移動を行う。REQ-001
B-5注意事項権限・機密情報・エスケープに関する注意文言。常に表示。--

処理連携仕様

アクション一覧

A-1

画面初期表示、B-2(フィルタ)適用、B-4(ページング)操作時に REQ-001: デバッグログ取得・表示 を呼び出す。

  • フィルタ条件に基づいて debug.log を読み込み、表示対象行を返却する。
  • 返却する本文はプレーンテキスト扱いで HTML エスケープして描画する。
  • 大容量ファイル対策として、検索モードを以下の 2 種とする。
    • 高速モード(既定): 末尾 N 行のみを検索対象とする(結果は部分一致)。
    • 完全検索モード: ファイル全体を検索対象とする(結果は完全一致、処理時間増)。
  • モード切替条件:
    • 画面初期表示時および再読込時は高速モード。
    • キーワードまたは期間フィルタを指定した場合は、利用者が明示的に「完全検索」を選択したときのみ完全検索モードを使用する。
    • UI 上で「高速(末尾 N 行)/ 完全(全体)」の切替を表示し、既定は高速とする。
  • 日付判定ルール:
    • from_date は当日 00:00:00 以上(含む)。
    • to_date は当日 23:59:59 以下(含む)。
    • 判定タイムゾーンは Asia/Tokyo(入力日時は同タイムゾーンへ正規化して評価)。
    • 実装で UTC 比較が必要な場合は、上記で正規化した日時を UTC に変換して比較する。

リクエスト

requestParam本画面の値(どの部品から何を送るか)
keywordB-2 のキーワード入力値
from_dateB-2 の開始日入力値(任意)
to_dateB-2 の終了日入力値(任意)
limitB-2 の表示件数(50/100/200 など)
pageB-4 のページング状態
_wpnonceログ表示操作用 nonce
search_modetail(高速)/ full(完全検索)

レスポンス

項目内容
成功時フィルタ条件に一致するログ行、最新状態情報、ページ情報を返却する。
失敗時権限不足 / nonce 不正 / ログ未存在の管理者向けメッセージを返却する。
画面更新時の処理画面全体再描画で B-1(状態表示)と B-4(ログ表示領域)を更新する。

A-2

B-3(最新を再読込)押下時に REQ-002: デバッグログ再読込 を呼び出す。

  • 現在のフィルタ条件(keyword / from_date / to_date / limit / page / search_mode)を引き継いで A-1 を再実行する。

リクエスト

requestParam本画面の値(どの部品から何を送るか)
reloadB-3 の再読込ボタン押下フラグ(固定値)
keywordB-2 のキーワード入力値(現在値を引き継ぐ)
from_dateB-2 の開始日入力値(現在値を引き継ぐ)
to_dateB-2 の終了日入力値(現在値を引き継ぐ)
limitB-2 の表示件数(現在値を引き継ぐ)
pageB-4 のページング状態(現在値を引き継ぐ)
search_modetail(高速)/ full(完全検索)の現在値を引き継ぐ
_wpnonce再読込操作用 nonce

レスポンス

項目内容
成功時最新ログ状態とログ本文を返却する。
失敗時権限不足 / nonce 不正 / ログ未存在の管理者向けメッセージを返却する。
画面更新時の処理画面全体再描画で B-1(状態表示)と B-4(ログ表示領域)を最新状態へ更新。

A-3

B-3(debug.log をダウンロード)押下時に REQ-003: デバッグログダウンロード を呼び出す。

  • debug.logtext/plain でダウンロードさせる。
  • manage_options 権限と nonce を必須とする。

リクエスト

requestParam本画面の値(どの部品から何を送るか)
downloadB-3 のダウンロードボタン押下フラグ(固定値)
_wpnonceダウンロード操作用 nonce

レスポンス

項目内容
成功時text/plaindebug.log ファイルを返却し、ブラウザ保存を開始する。
失敗時権限不足 / nonce 不正 / ログ未存在の管理者向けメッセージを返却する。
画面更新時の処理ダウンロード処理のため画面本文更新は行わない。

外部インターフェース

管理画面 URL

項目
URL/wp-admin/tools.php?page=debug-log-viewer
メニュー名デバッグログ
権限manage_options

参照ファイル

項目
既定対象/wp-content/debug.log
条件WP_DEBUG_LOG が有効(true またはログファイルパス文字列)で、解決先ファイルが存在すること
エラー時表示「ログファイルが存在しません」等の管理者向けメッセージを表示