mcpField
B
b2c-logs

b2c-logs

github.com/salesforcecommercecloudクラウド・DevOps5799 回インストール今日更新
リポジトリ

b2c-logs について

`b2c` CLI で Salesforce B2C Commerce インスタンスのログを取得、監視するスキルです。エージェント向けの構造化出力や条件指定に加え、カスタムログやサブディレクトリ内のログも扱えます。

主な機能

  1. 01JSON 形式でのログ取得
  2. 02時刻、レベル、テキストによる絞り込み
  3. 03ログファイルの一覧表示と追跡
  4. 04カスタムロガーのログ検出
  5. 05サブディレクトリ内のログ検索

活用シーン

  1. 01直近のアプリケーションエラーの確認
  2. 02決済や連携処理のログ検索
  3. 03インシデント中のログ監視

MCP 対応

同じログ操作は対応する MCP ツールからも実行できます。また、完全なログファイルのダウンロードには `b2c-cli:b2c-webdav` を使う方法が示されています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/salesforcecommercecloud/b2c-developer-tooling --skill b2c-logs

インストール後、Claude Code で/b2c-logsを入力して読み込まれたか確認します。

同梱ファイルevals/trigger-evals.json

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

B2C ログスキル

b2c CLI を使用して、Salesforce B2C Commerce インスタンスのログファイルを取得、監視します。logs get コマンドは、エージェント向けに、構造化された JSON 出力でログを非対話的に取得できるよう設計されています。

ヒント: b2c がグローバルにインストールされていない場合は、代わりに npx @salesforce/b2c-cli を使用してください(例:npx @salesforce/b2c-cli logs get)。

設定と認証

CLI は、SFCC_* 環境変数(プロジェクトの .env を含む)、選択中のプロジェクトローカルまたは共有の dw.json、および設定プラグインから、対象インスタンスと認証情報を自動検出します。package.json で指定できるのは、機密情報を含まないデフォルト値のみです。通常、--server、--client-id、--client-secret、--username、--password などのフラグは不要です。自動検出された値を上書きする場合にのみ指定してください。

b2c setup inspect を実行すると、解決された設定と各値の取得元を確認できます(スクリプトで使用する場合は --json を指定します。デフォルトではシークレットはマスクされます)。優先順位のルールとトラブルシューティングについては、b2c-cli:b2c-config スキルを参照してください。

エージェント向けログ取得

logs get コマンドは、コーディングエージェント向けに最適化されています。

  • ログの取得後、ただちに終了します(非対話型)。
  • 構造化された出力を得るための --json をサポートしています。
  • 時間、レベル、テキスト検索で絞り込めます。
  • IDE でクリックして開けるよう、ファイルパスを自動的に正規化します。

例

最近のログを取得する
# Get last 20 entries from error and customerror logs (default)
b2c logs get

# Get last 50 entries
b2c logs get --count 50

# JSON output for programmatic parsing
b2c logs get --json
時間で絞り込む
# Entries from the last 5 minutes
b2c logs get --since 5m

# Entries from the last 1 hour
b2c logs get --since 1h

# Entries from the last 2 days
b2c logs get --since 2d

# Entries after a specific time (ISO 8601)
b2c logs get --since "2026-01-25T10:00:00"
ログレベルで絞り込む
# Only ERROR level entries
b2c logs get --level ERROR

# ERROR and FATAL entries
b2c logs get --level ERROR --level FATAL
テキストを検索する
# Search for "OrderMgr" in messages
b2c logs get --search OrderMgr

# Search for payment errors
b2c logs get --search "PaymentProcessor"
複数の条件で絞り込む
# Recent errors containing "PaymentProcessor"
b2c logs get --since 1h --level ERROR --search "PaymentProcessor" --json

# Last hour of errors and fatals from specific log types
b2c logs get --filter error --filter warn --since 1h --level ERROR --level FATAL
利用可能なログファイルを一覧表示する
# List all log files
b2c logs list

# List specific log types
b2c logs list --filter error --filter customerror

# List logs in a subdirectory (path-like filter)
b2c logs list --filter internal/server

# JSON output
b2c logs list --json
リアルタイムでログを追跡する(人間向け)

対話型のログ監視を行う場合(エージェント向けではありません):

# Tail error and customerror logs
b2c logs tail

# Tail specific log types
b2c logs tail --filter debug --filter error

# Tail only ERROR and FATAL level entries
b2c logs tail --level ERROR --level FATAL

# Tail with text search
b2c logs tail --search "PaymentProcessor"

# Combined filtering
b2c logs tail --filter customerror --level ERROR --search "OrderMgr"

# Stop with Ctrl+C

ログファイル全体のダウンロード

ログファイル全体をダウンロードするには、JSON 出力の file フィールドを b2c-cli:b2c-webdav とともに使用します。

b2c webdav get error-odspod-0-appserver-20260126.log --root=logs -o -

JSON 出力の構造

--json を使用すると、logs get は次の内容を返します。

{
  "count": 1,
  "entries": [
    {
      "file": "error-odspod-0-appserver-20260126.log",
      "timestamp": "2026-01-26 04:38:03.022 GMT",
      "level": "ERROR",
      "message": "PipelineCallServlet|156679877|Sites-Site|...",
      "raw": "[2026-01-26 04:38:03.022 GMT] ERROR PipelineCallServlet|..."
    }
  ]
}
フィールド説明
fileソースログファイル名(ファイル全体のダウンロードには b2c-cli:b2c-webdav を使用します)
levelログレベル:ERROR、WARN、INFO、DEBUG、FATAL、TRACE
timestampエントリーのタイムスタンプ
messageログメッセージ(IDE でクリックして開けるようパスが正規化されています)
raw未加工のログ行

ログの種類

一般的なログファイルのプレフィックス:

プレフィックス説明
errorシステムエラー
customerrorカスタムスクリプトのエラー(Logger.error())
warn警告
debugデバッグ出力(有効な場合)
info情報メッセージ
jobsジョブ実行ログ
apiAPI の問題と違反
deprecation非推奨 API の使用
quotaクォータに関する警告

上記のプレフィックスは、組み込みのログファイルです。さらに、_カスタムロガーカテゴリ_を通じてログを記録するスクリプトは、それぞれ専用の custom- プレフィックス付きファイルに書き込みます。これは customerror とは別のものです。インテグレーションやジョブのコード(決済ゲートウェイ、ERP/OMS/CRM の同期、フィードおよびインポートジョブ)は、ほとんどの場合この方法でログを記録するため、トリアージで必要なエントリは error/customerror ではなく、custom-* ファイルにあることがよくあります。

カスタムログファイル名は次のパターンに従います:

custom-<prefix>-<hostname>-appserver-<date>.log

<prefix> セグメントは、ログを出力するコードで Logger.getLogger(prefix, category) に渡される最初の引数です。そのため、ログファイルから書き込み元のコードを直接特定できます:

コードログファイル読み取るためのフィルター
Logger.getLogger('PaymentProcessor', 'payment')custom-PaymentProcessor-*.log--filter custom-PaymentProcessor
Logger.getLogger('PimTaxImport', 'tax')custom-PimTaxImport-*.log--filter custom-PimTaxImport
Logger.getLogger('orderexport', 'export')custom-orderexport-*.log--filter custom-orderexport

(2 番目の引数はログの _カテゴリ_で、設定に使用されます。ファイル名には含まれません。)ロガーの作成方法など、作成側の説明については、b2c:b2c-logging スキルを参照してください。

注: --filter はファイルのログカテゴリに対して、完全一致ではなく**プレフィックス(前方一致)**で照合します。そのため、--filter custom- はすべての custom-* ファイルを対象とし、--filter custom-Payment は custom-PaymentProcessor にも一致します。カテゴリは _2 番目_のダッシュまでの部分を取り出して判定するため、カスタムロガー名には単語文字のみを使用します(ダッシュは使用できません)。たとえば、custom-payment-gateway-*.log という名前のファイルは、カテゴリ custom-payment として認識されます。特定のカスタムログを読むには、抽出されたプレフィックス全体(例:--filter custom-PimTaxImport)でフィルターし、すべてを対象にするには --filter custom- を使用します。

カスタムログファイルの確認

カスタムログファイルはデフォルトの error/customerror の取得対象ではないため、インテグレーションやジョブを調査する際は明示的に確認してください:

# 1. Enumerate all log files, or narrow to just custom ones
b2c logs list
b2c logs list --filter custom

# 2. Scan the output for an unfamiliar custom-* prefix whose size or
#    last-modified time grew when the incident started, then read it
b2c logs get --filter custom-PimTaxImport --since 1h

# 3. Read all custom logs at once when you don't yet know the prefix
b2c logs get --filter custom-

b2c logs list は各ファイルのサイズと最終更新日時を表示するため、インシデント発生時に記録されたカスタムロガーをすばやく見つけるのに最適です。プレフィックスが分かったら、--filter custom-<prefix>(またはすべてを対象にする場合は --filter custom- のみ)でエントリを読み取れます。

logs list の出力が不完全な場合や、インスタンス上の未加工の *.log ファイル名を確認したい場合は、WebDAV を使用してください:

# Enumerate log filenames directly over WebDAV
b2c webdav ls --root logs

サブディレクトリ内のログ

Logs/ ディレクトリには、internal/(例:server、ccp、health、csrf-violations、internalquota)などのサブディレクトリがあります。これらはデフォルトでは一覧表示されません。アクセスするには、/ を含むパス形式の --filter を渡します。すると、ツールはそのサブディレクトリを再帰的に調べ、Logs/ からの相対パスでファイルを照合します。

# All "server" logs under internal/
b2c logs list --filter internal/server

# Everything under internal/ (trailing slash)
b2c logs tail --filter internal/

# Mix a subdirectory filter with normal prefix filters
b2c logs get --filter error --filter internal/server

これは logs list、logs get、logs tail(および対応する MCP ツール)で同じように機能します。

その他のコマンド

使用可能なすべてのコマンドとオプションについては、b2c logs --help を参照してください。

関連スキル

  • b2c-cli:b2c-webdav - 完全なログファイルをダウンロードするための、WebDAV による直接のファイルアクセス
  • b2c-cli:b2c-config - 設定と認証情報の確認
  • b2c:b2c-logging - 作成側:サーバー側のコードで、custom-* ログファイルを生成するカスタムロガーカテゴリを作成する方法

コメント