WP-CLIとアクティビティログの使用
アクティビティログプラグインには、ログデータのエクスポートや古いエントリの削除をコマンドラインから実行するためのWP-CLIコマンドが含まれています。これは、ログエクスポートの自動化、スクリプトとの連携、ヘッドレス環境やステージング環境でのログ管理に便利です。
要件
サーバーにWP-CLIがインストールされていること、およびコマンドラインから実行できるアクセス権限が必要です。Activity Logプラグインはインストール済みかつ有効化されている必要があります。すべてのコマンドはWordPressインストールディレクトリのルートから実行してください。
エクスポートコマンド
exportコマンドは、アクティビティログエントリをターミナルまたはファイルに出力します。利用可能なフラグを任意に組み合わせて結果をフィルタリングできます。
wp duplicator-activity-log export
デフォルトでは、すべてのログエントリがフォーマットされたテーブルとして出力されます。フラグを追加してフィルタリングし、出力形式を変更できます。
輸出フラグ
すべてのフラグはオプションであり、自由に組み合わせることができます。
--format=
出力形式。以下の形式を受け付けます。 table (デフォルト), csvあるいは json.
--category_l1=
最上位イベントカテゴリでフィルタリングします。有効な値: user, content, media, plugin, theme, wordpress, appearance, taxonomy, settings.
--severity=
深刻度レベルでフィルタリングします。受け入れられる値: info, low, medium, high, critical.
--user_id=
特定のWordPressユーザーIDでイベントをフィルタリングする。
--event_type=
特定のイベントタイプコードでフィルタリングします。例: user_login_failed, plugin_activated, content_post_published.
--search=
イベントメッセージとオブジェクト名を横断検索します。管理画面の「イベントを検索」フィールドに相当します。
--date_from=
この日付以降の日付のイベントを表示します。PHPの任意の日付形式を受け付けます。 strtotime() 理解する、例えば 2026-01-01 または yesterday.
--date_to=
この日付までを含むイベントを表示する。
--site_id=
WordPress マルチサイトでは、特定のサイトのブログ ID によってイベントをフィルタリングします。デフォルトでは現在のサイトが対象となります。
--fields=
出力に含めるフィールドのカンマ区切りリスト。CSVエクスポートの絞り込みに有用です。利用可能なフィールド: id, date_gmt, user_login, user_role, severity, event_type, message, object_name, ip_address, is_cli.
エクスポート例
すべてのイベントをCSVファイルとしてエクスポート:
wp duplicator-activity-log export --format=csv > activity-log.csv
過去7日間の重大度の高いイベントのみをエクスポート:
wp duplicator-activity-log export --severity=high --date_from="7 days ago"
すべての失敗したログイン試行をJSON形式でエクスポート:
wp duplicator-activity-log export --event_type=user_login_failed --format=json
特定の日付範囲のすべてのプラグインイベントをファイルにエクスポートする:
wp duplicator-activity-log export --category_l1=plugin --date_from=2026-01-01 --date_to=2026-01-31 --format=csv > plugins-jan.csv
軽量なCSV用に特定のフィールドのみをエクスポートする:
wp duplicator-activity-log export --format=csv --fields=date_gmt,user_login,severity,message > compact-log.csv
パージコマンド
purgeコマンドは、設定された保持期間(アクティビティログ > 設定 > 一般で設定)より古いすべてのログエントリを削除します。これは、毎日実行されるcronジョブが自動的に行う操作と同じです。
wp duplicator-activity-log purge
これは、保持期間を変更した際に、次のスケジュールされた実行を待たずに古いエントリを直ちにクリーンアップしたい場合や、デプロイメントスクリプトで手動でトリガーする必要がある場合に便利です。
すべてのログエントリを期間に関係なく削除するには、代わりに「アクティビティログ」>「設定」>「ツール」内の「すべてのログを削除」ボタンを使用してください。